구조 패턴(structural pattern)

구조 패턴(structural pattern)은 더 큰 구조를 형성하기 위해 어떻게 클래스와 객체를 합성하는가와 관련된 패턴이다.

  1. 적응자(Adapter) 패턴
    • 어떤 인터페이스가 다른 인터페이스를 따르게 만들어 서로 다른 인터페이스들의 통일된 추상을 제공
  2. 복합체(Composite) 패턴
    • 두 종류의 객체에 대한 클래스(기본 클래스와 복합 클래스)로 클래스 계층 구조를 어떻게 형성하는 보여준다.
      복합 객체는 기본 객체와 또 다른 복합 객체를 모아서 임의의 복잡한 구조를 생성할 수 있도록 한다.
  3. 프록시(Proxy) 패턴
    • 프록시는 다른 객체의 대리자 역할을 수행한다. 프록시를 통해 객체의 특정한 어떤 특성에 대해서는 직접 접근하지 못하게 함으로써 이 특성들을 아무 부담없이 수정하고, 확장할 수 있게 된다.
  4. 플라이급(Flyweight) 패턴
    • 효율성과 일관성 보장을 위해, 객체들을 공유할 수 있는 구조를 정의
      “적은 객체를 여러번 이용할 수 있도록” 하기 위함
  5. 파사드(Facade) 패턴
    • “하나의 객체로 전체 서브시스템을 표현” 하기 위한 패턴
  6. 브릿지(Bridge) 패턴
    • 객체의 개념적 추상화와 구현을 분리하여 각각 독립적으로 다양하게 변형할 수 있게 해준다.
  7. 데코레이터(Decorator) 패턴
    • 객체에 동적으로 새로운 책임을 추가할 수 있는 방법을 제공한다. 즉, 객체를 재귀적으로 합성하여 책임을 계속적으로 추가할 수 있도록 허용하는 패턴