facade(퍼사드) 패턴 : 외벽이란 뜻으로, 특정 일을 하기에 자잘한 클래스들의 객체를 만들어가며 실행하는 것 대신 큰 하나의 클래스로 구현하고 사용자가 간편하게 사용하는 패턴
template-method 패턴 : 어떤 같은 형식을 지닌 특정 작업들의 세부 방식을 다양화하고자 할 때 사용하는 패턴
Decorator 패턴 : 특정 클래스의 객체들이 할 수 있는 일을 여러가지 두고 각 객체마다 사용자가 원하는대로 골라 시키거나 기능들을 필요에 따라 장착할 수 있을때 사용
factory-method 패턴 : 사용할 객체의 조건들만 넘겨주면 이에 적절한 클래스를 찾아 객체로 생성해 넘겨주는 것 (세부 구현 몰라도 팩토리가 전달)
Abstract factory 패턴 : 추상화가 더 입혀진 패턴으로, 팩토리도 여러 종료류 건설(테마에 따라 여러 종류가 있을때, 테마 자체를 공장으로 둬서 처음부터 어떤 팩토리를 쓸지 결정)
Mediator 패턴 : 특정 이벤트 반응해서 관련된 다른 클래스들에 알려주는 일에 중재자 역할을 하는 클래스에 전담시키기
Composite 패턴 : 포함하는 것들과 포함되는 것들이 같은 방식으로 다뤄질 수 있도록 할 때 사용