Certificate/정보처리기사

[⚡] 디자인 패턴 유형

밍굥잉 2022. 5. 6. 15:00

1. 생성 (생빌 프로 팩앱싱)

- 빌더(builder)

: 복잡한 인스턴스를 조합하여 만드는 구조, 생성과 표기를 분리해서 복잡한 객체를 생성

- 프로토타입(prototype)

: 생성할 객체의 종류를 명시하는데 원형에 되는 예시물을 이요하고 새로운 객체를 이 원형들ㄹ을 복사함으로써 생성하는 타입.

- 팩토리 메소드(Factory method)

: 객체를 생성하는 인터페이스를 정의하지만, 인스턴스를 만드는 클래스는 서브클래스에서 결정하도록 하는 패턴.

- 앱스트랙트 팩토리(Abstract Factory)

: 구체적인 클래스 지정하지 않고 관련성이 있거나 독립적인 객체들을 생성하기 위한 인터페이스 제공

- 싱글톤(Single ton)

: 클래스의 인스턴스가 하나임을 보장하고 접근할 수 있는 전역적인 접근점을 제공하는 패턴

 

 

2. 구조 (구 브데 프록 퍼플 컴 어)

- 브릿지(bridge)

: 추상계층을 분리하여 추상화된 부분과 실제 구현부분을 독립적으로 확장할 수 있는 디자인 패턴

- 데코레이터(decorator)

: 객체의 결합을 통해 기능을 동적으로 유연하게 확장

- 프록시(proxy)

: 특정 객체로의 접근을 제어하기 위한 용도

- 퍼사이드(facade)

: 복잡한 시스템에 대하여 단순한 인터페이스 제공, 통합된 인터페이스 제공

- 플라이웨이트(flyweight)

: 여러개의 '가상 인스턴스'를 제공하여 메모리 절감

- 컴포지트(composite)

: 복합 객체와 단일 객체를 동일하게 취급

- 어댑터(adapter)

: 기존 생성 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할을 하는 인터페이스

 

 

3. 행위 (행 미인이 템옵 스테 비커 스트 메체) 

- 메디에이터(mediator)

: 상호작용의 유연한 변경을 지원, 객체지향의 목표를 달성하게 해줌

- 인터프리터(interpreter)

: 주어진 언어에 대해서 문법을 위한 표현 수단을 정의, 언어 해석기

- 이터레이터(Iterator)

: 내부 표현부를 노출하지 않고 어떤 객체 집합의 원소를 순차적으로 접근할 수 있는 방법 제공

- 템플릿(template)

: 객체의 연산에서 알고리즘의 뼈대만 정의하고, 나머지는 서브클래스에서 이루어지게 하는 패턴

- 옵져버(Observer)

: 객체들 사이에 1:N의 의존관계를 정의하여, 의존 관계의 객체들이 통지받지 않고 자동으로 갱신됨

- 스테이트(state)

: 객체의 내부 상태가 변경될 때 행동을 변경하도록 허락.

- 비지터(visitor)

: 객체구조를 이루는 원소에 대해 수행할 연산을 표현함.

- 커맨드(command)

: 요청을 객체로 캡슐화하여 서로 다은 사용자의 매개변수화, 요청 저장 또는 로깅, 연산의 취로를 지원하게 만드는 패턴

- 스트레티지(strategy)

: 동일한 계열의 알고리즘들을 정의하고 각각 캡슐화하여 이들을 상호교환하게 만듬.

- 메멘토(memento)

: 객체를 이전 상태로 복구시켜야하는 경우.

- 체인 오브 리스판서빌리티(chain of responsibility)

: 요청을 처리하는 기회를 하나 이상의 객체에 부여하여 요청을 보내는 쪽과 받는 쪽의 결합을 피하는 패턴.