디자인 패턴
소프트웨어 디자인에서 공통적으로 발생하는 문제를 다루는
보편적이고 반복해서 사용할 수 있는 방법
*코드로 직접 변환될 수 있는 완성된 설계가 아니라
다양한 상황에 사용될 수 있는 설명이나 템플릿
알고리즘
문제 해결을 위한 처리 절차
세 가지 범주의 패턴
Creational Patterns (생성 패턴)
객체 생성 메커니즘
객체 생성 패턴, 클래스 생성 패턴으로 분류 됨
Factory, Abstract, Factory, Builder, Prototype, Singleton 패턴
Structural Patterns (구조 패턴)
객체들과 클래스들이 커다란 구조를 형성하기 위해 결합될 수 있는 방법을 설명
클래스패턴, 상속의 도움을 받아 추상화를 설명하고 더 유용한 인터페이스를 제공
객체 패턴, 객체들이 크고 더 복잡한 구조를 형성하기 위해 연결되고 구성되는지 설명
Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy 패턴
Behavioral Patterns (행위 패턴)
객체 사이의 상호 작용과 관련된 것
객체 간에 공통의 통신 패턴을 파악하고 이러한 패턴을 실현
Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template, Visitor 패턴
패턴 적용방법
주어진 문제를 이해 -> 세밀한 문제로 분해 -> 특정 문제를 해결하기 위한 디자인 패턴 선택
-> 선택한 디자인 패턴으로 다시 확인 -> 여러 패턴 적용 또는 변형 후 적용
'학습 log (이론) > pattern' 카테고리의 다른 글
'객체 직렬화 및 RMI' 'Prototype 패턴' #1 (0) | 2016.12.13 |
---|---|
'Object-Oriented' 패턴 기초 (0) | 2016.11.28 |