박은종의 객체지향 설계를 위한 디자인패턴 with 자바
기능의 선언과 구현을 분리하여 생각하기(Strategy, Bridge)
https://github.com/MyoungSoo7/DesignPattern
1. 전략 패턴 (Strategy)
기능의 선언과 구현을 분리
(정렬의 경우 퀵,힙,버블 세가지의 선언과 구현을 분리 - if-else가 아니라 정책클래스 사용)
(콜센터에서 전화 배분정책을 순서대로 배분, 짧은 대기열 배분, 고객등급 콜센터직원 능력에 따른 우선순위에 따라 배분 분리)
- 다양한 알고리즘이 존재하면 이들 각각을 하나의 클래스로 캡슐화하여 알고리즘의 대체가 가능하도록 한다. 인터페이스에 선언된 기능을 구현한 다양한 정책을 다른 클래스에 영향을 주지 않고 추가, 삭제 할 수 있다.
2. Bridge Pattern
- 기능의 확장과 구현의 확장을 따로 계층화 함
- 두 계층을 분리하고 서로의 사이에 다리(Bridge)가 필요함
- 기능의 구현 클래스를 런타임때 지정할 수도 있다.
- Abstract Factory : 특정 브리지를 생성하고 합성할 수 있다.
Adapter : 서로 관련없는 클래스들이 연결 될 수 있다.
LIST
'4차산업혁명의 일꾼 > Java&Spring웹개발과 서버 컴퓨터' 카테고리의 다른 글
C 프로그래밍 개론 - 방송통신대 컴퓨터공학과 C언어 정리 (0) | 2023.02.23 |
---|---|
파이썬프로그래밍 기초 (0) | 2023.02.23 |
디자인패턴 2 - 하위클래스에 위임하기 : 템플릿 패턴 , 팩토리 패턴 (0) | 2023.02.19 |
디자인 패턴 1- 클래스의 인스턴스를 생성 -(Singleton Pattern,Prototype Pattern,abstract Factory Pattern,Builder Pattern : 싱글톤, 프로토타입, 공장, 빌더) (0) | 2023.02.19 |
클린코드 - 애자일소프트 장인정신 1 - 5가지 정신 (0) | 2023.02.19 |