Strategy
Written on Strategy : 교환 가능한 행동을 캡슐화하고 위임을 통해서 어떤 행동을 사용할지 결정한다.
Observer : 상태가 변경되면 다른 객체들에게 연락을 돌릴 수 있게 해준다.
Decorator : 객체를 감싸서 새로운 행동을 제공한다.
Factory Method : 생성할 구상 클래스를 서브클래스에서 결정한다.
Abstract Factory : 클라이언트에서 구상 클래스를 지정하지 않으면서도 일군의 객체를 생성할 수 있도록 해준다.
Singleton : 오직 하나의 객체만 생성되도록 한다.
Command : 요청을 객체로 감싼다.
Adapter : 객체를 감싸서 다른 인터페이스를 제공한다.
Facade : 일련의 클래스에 대해서 간단한 인터페이스를 제공한다.
Template Method : 알고리즘의 개별 단계를 구현하는 방법을 서브클래스에서 결정한다.
Iterator : 컬렉션이 어떻게 구현되었는지 드러내지 않으면서 컬렉션 내에 있는 모든 객체에 대해 반복 작업을 처리할 수 있게 해준다.
Composite : 클라이언트에서 객체 컬렉션과 개별 객체를 똑같이 다룰 수 있도록 해준다.
State : 상태를 기반으로 한 행동을 캡슐화한 다음 위임을 통해서 필요한 행동을 선택한다.
Proxy : 객체를 감싸서 그 객체에 대한 접근을 제어한다.