320x100
320x100

Gang Of Four

: 디자인 패턴이라는 책을 발간한 4인방 (gang of four)을 의미

: 에리히 감마, 리처드 헬름, 랄프 존슨, 존 블리시데스

 

- 디자인 패턴

: 소프트웨어 설계에 있어 공통된 문제들에 대한 표준적인 해법과 작명법을 제안한 책

 

 

 

 

생성 패턴

: 객체 생성에 대한 패턴 / 캡슐화 및 유연성을 목표

 

- 추상 팩토리

: 상위 클래스의 객체 생성 코드를 하위 클래스가 상속 받는다 (상위 변경 = 하위 자동 변경)

 

- 빌더

: 분리된 인스턴스를 조합하여 객체 생성. 같은 객체를 생성해도 다른 결과를 도출할 수 있음

 

- 팩토리 메서드

: 객체 생성 코드를 하위 클래스에서 구체화. 상위 클래스는 인터페이스만 제공 (각각 다른 작업 수행)

 

- 프로토타입

: 원본을 복제하는 형태로 객체 생성

 

- 싱글턴

: 클래스 내 생성되는 인스턴스가 하나만 필요할 때 사용 (동시참조를 허용하지 않음)

 

 

 

 

 

 

구조 패턴

: 구조가 복잡한 시스템 개발에 도움

 

- 어댑터

: 일치하지 않는 인터페이스 변환

 

- 브릿지

: 추상층(기능)과 구현층(구체화)을 분리하여 서로 독립적 확장 가능

 

- 합성

: 트리구조로 구성

 

- 데코레이터

: 클래스에 기능을 추가하기 위해 다른 객체를 덧붙이는 형태

 

- 파사드

: 다수의 서브 클래스들의 통합 인터페이스를 제공할 수 있는 Wrapper 객체 구성

 

- 플라이웨이트

: 다수의 유사 객체 생성이 필요할 때 메모리 절약을 위해 최대한 공유해서 사용하는 형태

 

- 프록시

: 접근이 어려운 객체에 접근할 수 있도록 인터페이스 역할 수행

 

 

 

 

 

 

행동 패턴

: 상호작용이나 책임 분배에 대한 부분을 정의하고 결합도를 최소화 하는 것이 목표

 

- 책임 연쇄

: 요청을 처리할 수 있는 객체가 둘 이상 존재하여 한 객체가 처리하지 못하면 다음 객체로 넘어가는 형태의 패턴.

: 각 객체들이 Chain으로 묶여있어 요청이 해결될때 까지 Chain을 따라 책임이 넘어감

 

- 커맨드

: 명령어를 캡슐화 하여 재사용 하거나 취소할 수 있도록 필요한 정보를 로그에 남기는 형태

 

- 인터프리터

: 언어의 문법 표현을 정의하는 패턴

 

- 반복자

: 접근이 잦은 객체는 동일한 인터페이스를 사용하도록 하는 패턴

 

- 중재자

: 상호작용을 캡슐화하여 결합도를 낮추기 위해 사용

 

- 메멘토

: 특정 시점에서의 객체 내부 상태를 객체화함으로써 이후 요청에 따라 객체를 해당 시점의 상태로 돌릴 수 있는 기능을 제공하는 패턴

: Ctrl + Z 기능이 이 패턴의 대표적 기능

 

- 옵저버

: 이벤트 발행과 구독, 상태 변화 전달, 한 객체의 상태가 변화하면 객체에 상속되어 있는 다른 객체들에게 변화된 상태를 전달하는 패턴

: 실시간으로 상태 변화를 전달

 

- 상태

: 이벤트 객체 상태에 따라 다르게 처리해야할 때 사용하는 패턴

 

- 전략

: 동일 계열 알고리즘 상호 호환 및 독립적 사용을 위한 패턴 

 

- 템플릿 메서드

: 상위에서 인터페이스를 정의하고 하위에서 구체화 시킴 (쉬운 유지보수)

 

- 방문자

: 처리 기능을 별도의 클래스로 구성. 분리된 처리 기능은 각 클래스를 방문하여 수행

 

 

 

 

 

 

 

 

 

 

Reference

 

GoF(Gang of Four)란? 디자인패턴

GoF(Gang of Four) 란? 《디자인 패턴》(Design Patterns, ISBN 0-201-63361-2)은 소프트웨어 설계에 있어 공통된 문제들에 대한 표준적인 해법과 작명법을 제안한 책이다. 이 분야의 사인방(Gang of Four, 줄여 GoF)

y-oni.tistory.com

300x250
728x90