일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- react
- c언어
- Data Structure
- C
- Kafka
- 백준
- Proxy
- Galera Cluster
- Algorithm
- 자바
- 알고리즘
- 운영체제
- 디자인 패턴
- Java
- 자료구조
- redis
- 컴퓨터구조
- IT
- mongoDB
- 파이썬
- MSA
- spring webflux
- OS
- 네트워크
- JPA
- Heap
- JavaScript
- design pattern
- Spring
- MySQL
- Today
- Total
목록전체 글 (211)
시냅스

전략 패턴 Strategy Pattern 정책이나 알고리즘을 교체하여 사용할 수 있음 다양한 알고리즘이 존재하면 이들 각각을 하나의 클래스로 캡슐화하여 알고리즘의 대체가 가능하도록 한다. 클라이언트와 독립적인 다양한 알고리즘을 적용할 수 있도록 한다. 사용자가 모르고 있는 데이터를 사용하여 여러 정책들이 반영될 수 있도록 구현 여러 정책이 수행되어야 하는 조건들 (if-else, switch) 문이 없어질 수 있다 Strategy 정책이 수행해야 하는 기능들을 인터페이스로 선언 ConcreteStrategy Strategy에 선언된 여러 기능들을 구현 다양한 정책들이 구현될 수 있음 Context 어떤 ConcreteStrategy 가 수행 될 것인지에 따라 정책을 선택한다 Strategy에 선언된 메서..

스테이트 패턴 State Pattern 클래스가 하나의 상태에 따라 그 내부의 여러 메서드의 기능이 바뀐다고 하면 이를 각각의 클래스로 분리한다. 의도와 동기 객체의 기능은 상태에 따라 달라질 수 있는데, 이러한 상태가 여러가지이고, 클래스 전반의 모든 기능이 상태에 의존적이라 하면, 상태를 클래스로 표현하는 것이 적절함 클래스로 분리하지 않게 되면 상태가 여러가지인 경우 많은 if-else 문이 사용되고 추후 상태가 추가되거나 삭제될 때 수정해야 하는 사항이 너무 많아짐 Context : ConcreteState의 인스턴스를 관리하고 서로 상태가 바뀌는 순간을 구현할 수 있다. State : Context 가 사용할 메서드를 선언한다. ConcreateState : 각 상태 클래스가 수행할 State에..

프론트 컨트롤러 패턴으로 이뤄져있다. 서블릿이 호출되면 HttpServlet이 제공하는 service가 호출된다. 스프링 mvc는 DispatcherServlet의 부모인 FrameworkServlet에서 service를 override해두었다. FrameworkServlet.service를 시작으로 여러 메서드가 호출되면서 DispatcherServlet.doDispatch()가 호출된다. doDispatch()는 다음과 같다. 요청이 들어오면 핸들러 매핑을 통해 핸들러(컨트롤러)를 조회할 수 있는지 확인하고 핸들러 어댑터 목록에서 핸들러를 처리할 수 있는 핸들러 어댑터가 있는지 확인해서 핸들러 어댑터를 통해 핸들러의 컨트롤러를 실행하고 반환하는 정보를 ModelAndView로 변환해서 반환한다. 반환..