새로운 인터페이스에 맞게 개조하는 객체 프로그래밍 패턴
추상화 계층과 구현 계층을 분리하여 시스템의 확장성을 높이는 패턴.
트리 구조의 프로그램을 효율적이고 쉽게 관리하는 디자인패턴
원본 객체에 기능을 중첩시키고자 할 때 사용되는 디자인패턴
어떤 객체의 "핵심적인 기능만 따로 가져와" 가볍게 로직을 처리할 수 있게 도와주는 디자인 패턴
재사용할 수 있는 객체를 “공유 자원”으로 만들어 메모리 사용량을 최소화하는 디자인 패턴.
대상 객체를 직접 사용하는 것이 아닌 대리자를 거쳐서 간접적으로 사용하는 디자인 패턴
객체 인스턴스를 직접 생성하는 것이 아닌 공장 클래스를 통해서 인스턴스를 간접적으로 받아오는 디자인 패턴
연관성이 있는 객체끼리 묶어 추상화하고, 팩토리 객체 내에서 집합으로 묶은 객체 군을 다양한 형태로 구현화하는 생성 패턴.
객체의 생성과 객체 내부에 들어갈 요소들을 분리해내어 다양한 표현될 수 있는 유연성을 제공하는 디자인패턴.