- 적응자 패턴 (Adapter Pattern)
클라이언트가 사용하는 인터페이스에 맞게 호환성 없는 클래스를 래핑하여 호환성있게 제공하여 사용자 편의성과 유연성을 높일 수 있다.
- 가교 패턴 (Bridge Pattern)
사용해야 할 구체적 기능과 관계를 느슨하게 하기 위해 추상적 개념 클래스를 정의하고 이를 통해 구체적 기능을 사용합니다. 이를 통해 유연성이 높아집니다.
- 복합체 패턴 (Composite Pattern)
단일 개체와 복합 개체를 같은 방법으로 사용할 수 있게 일반화합니다.
- 장식자 패턴 (Decorator Pattern)
적은 클래스를 정의하면서 여러 기능을 무한대로 혼합하여 사용할 수 있게 합니다.
- 퍼샤드 패턴 (Facade Pattern)
다수의 서브 시스템을 사용하기 쉽게 서비스를 제공해 줍니다.
- 플라이급 패턴 (Flyweight Pattern)
다수의 개체에 공통적인 속성을 별도로 관리하여 메모리 효율을 높여줍니다.
- 프락시 패턴 (Proxy Pattern) – 원격 프락시
클라이언트에서 프락시 개체를 자신에게 있는 개체처럼 사용하여 원격지에 있는 개체를 사용할 수 있게 해 줍니다.
- 프락시 패턴 (Proxy Pattern) – 가상 프락시
대기 시간이 많은 작업을 비동기적으로 사용하여 블록을 막아줍니다.
- 프락시 패턴 (Proxy Pattern) – 보호용 프락시
접근 권한에 따라 접근을 차단할 필요가 있을 때 사용합니다.