디자인 패턴
- 패턴 - 특정 컨텍스트 내에서 주어진 문제의 해결책
- 컨텍스트 - 패턴이 적용되는 상황
- 문제 - 컨텍스트 내에서 이뤄야 하는 목표를 뜻함
- 해결책 - 제약조건 속에서 누가 적용해도 목표를 이룰 수 있는 일반적인 디자인
생성패턴
- 싱클턴
- 추상팩토리
- 팩토리 메서드
- 프로토타입
- 빌더
구조
- 데코레이터
- 프록시
- 퍼사드
- 컴포지트
- 어댑터
- 플라이웨이트
- 브리지
행동
- 템플릿 메소드
- 싱글턴
- 반복자
- 옵저버
- 상태
- 전략
- 비지터
- 중재자
- 인터프리터
- 메멘토
클래스
- 템플릿 메소드
- 펙토리 메소드
- 어댑터
- 인터프리터
객체
- (나머지)
패턴으로 생각하기
- 최대한 단순하게
- 이 문제에 어떻게 패턴을 적용할 수 있을까가 아니라 어떻게 하면 단순한게 해결할 수 있을까에 초점을 맞춰야함
- 디자인 패턴은 만병통치약이 아님
- 패턴을 사용할 때는 그 패턴이 설꼐한 디자인에 미칠 영향과 결과를 주의 깊게 생각해 봐야 함
- 패턴이 필요할 때
- 디자인상의 문제에 적합하다는 확신이 든다면 패턴을 도입해야 함
- 리팩토링
- 구조개선
- 꼭 필요하지 않은 패턴은 빼 버리자. 지금 디자인에서 디자인 패턴을 제거하는 일을 두려워하지 말아야 함
- 꼭 필요하지 않은 패턴을 미리 적용할 필요는 없음
'프로그래밍 > DesignPattern (Java)' 카테고리의 다른 글
[DesignPattern] 프록시 / MVP / MVVM (0) | 2024.08.26 |
---|---|
[정의 모음] (0) | 2024.03.30 |
[디자인 원칙] (0) | 2024.03.30 |