
Observer Pattern 정의 한 객체(Subject, Observable)의 상태가 바뀌면 그 객체에 의존하는 다른 객체들(Observers)한테 연락(notify)이 가고 자동으로 내용이 갱신(update)되는 방식으로 일대다 (one-to-many) 의존성을 정의한다. 즉, 관찰 대상인 주제(Subject)가 변경되면, 등록된 Observer 들에게 notify를 주고, Observer들은 이벤트를 받아 처리한다. Observer Pattern 구조 아래는 Head First Design Pattern 에 나오는 기상청에서 받아온 데이터를 출력해주는 프로그램에 Observer Pattern을 적용한 예제이다. Subject인 WeatherData 클래스가 있고 서로 다른 Display를 보여주..

Strategy Pattern 이란 Behavior 패턴 중 하나로 알고리즘 군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다. Strategy를 활용하면 알고리즘을 사용하는 클라이언트와 독립적으로 알고리즘을 변경할 수 있다. 독립적으로 알고리즘을 변경할 수 있다는 말은 알고리즘을 사용하는 클라이언트에서 어떠한 concrete 객체를 사용하는지 모르지만, Interface에 정의된 대로 사용할 수 있음을 의미한다. 아래의 예제에 적용해서 이야기해보면, Duck 추상 클래스에서 어떠한 concrete 한 FlyBehavior 나 QuackBehavior 객체를 사용하는지 모르지만, Interface로 정의해 둔 FlyBehavior, QuackBehavior에 정의된 대로 사용할 수 있다...

디자인 패턴(Desgin Pattern) 이란 특정 상황에서 빈번하게 발생하는 구조적 문제를 해결한 디자인 방법을 의미한다. 객체 지향 프로그래밍에서 구조적 문제를 잘 해결할 수 있는 모범사례(Best Practice) 들을 모아 놓은 것으로 이해할 수 있다. 디자인 패턴을 사용하는 이유 좋은 해결책을 빠르게 제시 함으로써 생산성을 높이고 더 유연하고 재사용이 높은 코드를 작성 할 수 있다. 패턴을 통해서 의사소통이 가능하다. Best Practice를 모아둔 것이기 때문에 좋은 모방책이 된다. 기존의 code를 이해하는데 도움이 많이 된다. 즉, 디자인 패턴을 바탕으로 만들어진 API를 쉽게 이해할 수 있다는 장점이 있다. GoF의 디자인 패턴 카테고리 디자인 패턴 카테고리는 목적에 따라서 크게 3가지..
- Total
- Today
- Yesterday
- Servlet Container
- node add
- Java 장단점
- 웹 애플리케이션
- consumer
- Java 란
- Servlet
- producer
- minikube node add
- cpus
- StreamBridge
- 애플리케이션 변화 과정
- Java 특징
- ServiceMonitor
- 애노테이션 프로세서
- MySQL 외부 IP
- WEB-INF
- kubernetes
- OneToOne
- springboot3.x
- Prometheus Operator
- 데스크톱 애플리케이션
- minikube
- Kafka
- 서버 클라이언트
- docker-compose
- 특정 ip
- ExpectedException
- Spring Cloud Stream
- DD파일
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |