본문 바로가기
Study/디자인패턴

구조 패턴(Structural Pattern)

by 코딩여걸 2022. 8. 11.
728x90
  • 클래스나 객체를 조합해 더 큰 구조를 만드는 패턴
    • ex) 서로 다른 인터페이스를 지닌 2개의 객체를 묶어 단일 인터페이스를 제공하거나 객체들을 서로 묶어 새로운 기능을 제공하는 패턴

종류

  1. 적응자 패턴
  • 클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴으로, 호환성이 없는 인터페이스 때문에 함께 동작할 수 없는 클래스들이 함께 작동하도록 해주는 패턴
  1. 브리지 패턴
  • 구현부에 추상층을 분리하여 각자 독립적으로 변형할 수 있도록 하는 패턴
  1. 컴포지트 패턴
  • 객체들의 관계를 트리 구조로 구성하여 부분-전체 계층을 표현하는 패턴으로, 사용자가 단일 / 복합객체 모두 동일하게 다루도록 하는 패턴
  • 여러 개의 객체들로 구성된 복합 객체와 단일 객체를 클라이언트에서 구별 없이 다루게 해주는 패턴
  • https://gmlwjd9405.github.io/2018/08/10/composite-pattern.html
  1. 데코레이터 패턴
  • 주어진 상황 및 용도에 따라 어떤 객체에 책임을 덧붙이는 패턴으로, 기능확장이 필요할 때 서브클래스 대신 쓸 수 있는 대안이 될 수 있음
  • 객체의 결합을 통해 기능을 동적으로 유연하게 확장할 수 있게 해주는 패턴
  • https://gmlwjd9405.github.io/2018/07/09/decorator-pattern.html
  1. 퍼사드 패턴
  • 서브시스템에 있는 인터페이스 집합에 통합된 하나의 인터페이스를 제공함. 서브시스템을 좀 더 쉽게 사용하기 위해 고수준의 인터페이스를 정의
  1. 프록시 패턴
  • 어떤 다른 객체로 접근하는 것을 통제하기 위해 그 객체의 매니저 또는 자리 채움자를 제공하는 패턴
728x90

'Study > 디자인패턴' 카테고리의 다른 글

행위 패턴(Behavioral Pattern)  (0) 2022.08.11
생성 패턴(Creational Pattern)  (0) 2022.08.11
GoF (Gang of Four) 디자인 패턴  (0) 2022.08.11
디자인 패턴 (Design Pattern)  (0) 2022.08.11

댓글