디자인 패턴 정리

Deconrator - 객체에 동적으로 기능을 추가하고 삭제할때 유용하다.

Facade - 클라이언트가 많은 서브시스템으로 결합도가 높을때 의존관계를 간소화 시킴.
(이것도 디자인 패턴?)

Proxy - Client와 기존 클래스 사이에 중간 매개체로 Proxy클래스를 정의하고 기존클래스의 기능이나 역활을 대행.
(Decorator나 Adapter와 비슷)

Adapter - 이미 구현된 모듈이 있지만 원하는 다른 인터페이스로 변경하고자 할때 유용함.

Flyweight - 객체 공유를 통해 자원 사용량을 줄여주기 위한 설계.