내용

  • 더 큰 구조 형성 목적으로 클래스나 객체의 조합을 다루는 패턴입니다.

종류

Bridge

Bridge

내용

  • 기능의 클래스 계층과 구현의 클래스 계층을 연결하고, 구현부에서 추상 계층을 분리하여 추상화된 부분과 실제 구현 부분을 독립적으로 확장할 수 있는 디자인 패턴
  • 구현뿐만 아니라, 추상화된 부분까지 변경해야 하는 경우 활용

연관 페이지

참고 문헌 / 사이트

원본 링크

Decorator

Decorator

내용

  • 기존에 구현되어 있는 클래스에 필요한 기능을 추가해 나가는 설계 패턴
  • 기능 확장이 필요할 때 객체 간의 결합을 통해 기능을 동적으로 유연하게 확장할 수 있게 해주어 상속의 대안으로 사용하는 디자인 패턴
  • 객체의 결합을 통해 기능을 동적으로 유연하게 확장

연관 페이지

참고 문헌 / 사이트

원본 링크

Facade

Facade

내용

  • 복잡한 시스템에 대하여 단순한 인터페이스를 제공함으로써 사용자와 시스템 간 또는 여타 시스템과의 결합도를 낮추어 시스템 구조에 대한 파악을 쉽게 하는 패턴
  • 오류에 대해서 단위별로 확인할 수 있게 하며, 사용자의 측면에서 단순한 인터페이스 제공을 통해 접근성을 높일 수 있는 디자인 패턴
  • 통합된 인터페이스 제공

연관 페이지

참고 문헌 / 사이트

원본 링크

Flyweight

Flyweight

내용

  • 다수의 객체로 생성될 경우 모두가 갖는 본질적인 요소를 클래스 화하여 공유함으로써 메모리를 절약하고, ‘클래스의 경량화’를 목적으로 하는 디자인 패턴
  • 여러 개의 ‘가상 인스턴스’를 제공하여 메모리 절감

연관 페이지

참고 문헌 / 사이트

원본 링크

Proxy

Proxy

내용

  • 실체 객체에 대한 대리 객체로 실체 객체에 대한 접근 이전에 필요한 행동을 취할 수 있게 만들며, 이 점을 이용해서 미리 활당하지 않아도 상과없는 것들을 실제 이용할 때 할당하게 하여 메모리 용량을 아낄 수 있으며, 실체 객체를 드러나지 않게 하여 정보 은닉의 역할도 수행하는 디자인 패턴
  • 특정 객체로의 접근을 제어하기 위한 용도로 사용

연관 페이지

참고 문헌 / 사이트

원본 링크

Composite

Composite

내용

  • 객체들의 관계를 트리 구조로 구성하여 부분, 전체 계층을 표현하는 패턴
  • 사용자가 단일 객체와 복합 객체 모두 동일하게 다루도록 하는 패턴
  • 복합 객체와 단일 객체를 동일하게 취급

연관 페이지

참고 문헌 / 사이트

원본 링크

Adapter

Adapter

내용

  • 기존에 생성된 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할을 하는 인터페이스를 만드는 패턴
  • 상속을 이용하는 클래스 패턴과 위임을 이용하는 인스턴스 패턴의 두 가지 형태로 사용되는 디자인 패턴
  • 인터페이스가 호환되지 않는 클래스들을 함께 이용할 수 있도록 타 클래스의 인터페이스를 기존 인터페이스에 덧씌움

연관 페이지

참고 문헌 / 사이트

원본 링크

연관 페이지

참고 문헌 / 사이트