어댑터 패턴
- 호환성이 없는 기존 클래스의 인터페이스를 변환하여 재사용 할 수 있도록 한다.
데코레이터 패턴
- 기존 뼈대(클래스)는 유지하되 이후 필요한 형태로 꾸밀 때 사용한다.
- 확장이 필요한 경우 상속의 대안으로도 활용한다.
프록시 패턴
- Proxy(대리인) class를 통해서 대신 전달하는 형태
- 실제 사용자는 Proxy로부터 결과를 받는다.
- Cache의 기능으로도 활용이 가능하다.
옵저버 패턴
- 관찰자 패턴은 변화가 일어 났을 때, 미리 등록된 다른 클래스에 통보해주는 패턴을 구현한 것이다.
- 많이 보이는 곳은 event listener 에서 해당 패턴을 사용 하고 있다.
파사드 패턴
- Facade는 건물의 앞쪽 정면 이라는 뜻을 가진다.
- 여러개의 객체와 실제 사용하는 서브 객체의 사이에 복잡한 의존관계가 있을때,
- 중간에 Facade라는 객체를 두고, 여기에 제공하는 interface만을 활용하여 기능을 사용하는 방식이다.
전략 패턴
- 전략 패턴으로 불리며, 객체지향의 꽃이다.
- 유사한 행위들을 캡슐화하여, 객체의 행위를 바꾸고 싶은 경우 직접 변경하는 것이 아닌 전략만 변경하여 유연하게 확장 하는 패턴