GoF (Gang of Four) 디자인 패턴

Asher·2021년 12월 6일
0

디자인 패턴 별 매우 간략한 설명이다.

A. Creational Pattern

객체를 생성하는데 관련된 패턴이다

A-1. Abstract Factory

관련된 객체들의 조합을 독립적으로 생성

A-2. Builder

복잡한 객체를 생성하는 클래스와, 표현하는 클래스를 분리하여, 동일한 절차에서도 서로 다른 표현을 생성

A-3. Factory Method

객체를 만들어내는 부분을 서브 클래스에 위임

A-4. Prototype

필요에 따라 복제에 의한 객체를 생성

A-5. Singleton

하나의 클래스에서 오직 하나의 인스턴스만 생성


B. Structural Pattern

프로그램 구조에 관련된 패턴이다

B-1. Adapter

어떠한 클래스의 인터페이스를 다른 클래스에서 요구되는 인터페이스로 변환

B-2. Bridge

구현부에서 추상층을 분리하여, 독립성 부여

B-3. Composite

트리 구조로 객체들을 엮어서, 클라이언트로 하여금 구별 없이 다루게 함

B-4. Decorator

객체에 추가적인 요건을 동적으로 첨가

B-5. Facade

서브 시스템에 간략화된 인터페이스 제공

B-6. Flyweight

효율을 위해, 인스턴스를 가능한 대로 공유

B-7. Proxy

대리로 작업을 수행함


C. Behavioral Pattern

객체들의 상호작용과 관련된 패턴이다

C-1. Chain of Responsibility

어떤 문제에 대해서 해결할 수 있는 상황에 았는 객체에게 책임을 전가

C-2. Command

실행될 기능을 캡슐화함으로써 주어진 여러 기능을 실행할 수 있는 재사용성이 높은 클래스를 설계

C-3. Interpreter

문법 규칙을 클래스화 한 구조로, 일련의 규칙으로 정의된 문법적 언어를 해석

C-4. Iterator

컬렉션 구현 방법을 노출시키지 않으면서도 그 집합체안에 들어있는 모든 항목에 접근

C-5. Mediator

모든 클래스간의 상호작용을 캡슐화하여 하나의 클래스에 위임

C-6. Memento

캡슐화를 위반하지 않고 객체의 이전 상태를 저장하고 복원

C-7. Observer

지속적인 동기화를 위해, 객체 간 행동을 관찰하고 알림

C-8. State

내부의 상태가 변경 될 때 객체가 동작을 변경

C-9. Strategy

객체가 할 수 있는 행위들 각각을 전략으로 만들어 놓고, 동적으로 행위의 수정이 필요한 경우 전략을 바꾸는 것만으로 행위의 수정이 가능

C-10. Template Method

어떤 알고리즘이나 데이터구조에 대한 템플릿을 정의하고, 용도에 맞게 사용

C-11. Visitor

방문자와 방문 공간을 분리하여, 방문 공간이 방문자를 맞이할 때, 이후에 대한 행동을 방문자에게 위임. 타입 체계 수정 없이 방문자는 새로운 연산 정의 가능

profile
Frontend Developer

0개의 댓글