2020년 7월 6일 월요일

GOF Design Pattern - 홈




생성 

Abstract Factory 

구체적인 클래스에 의존하지 않고 인터페이스를 통해 서로 연관하는 객체들의 그룹으로 생성하여 추상적으로 표현한다.


Builder 

객체의 생성 과정과 표현 방법을 분리하면서 객체를 생성한다. 건축하듯이 객체를 생성.


Factory Method

객체 생성을 서브클래스 내에서 처리하도록 분리하여 캡슐화한 패턴.


ProtoType

원본 객체를 복사하는 방법으로 객체를 생성하는 패턴


Singleton

하나의 객체를 생성하면 생성된 객체를 어디서든 참조할 수 있지만, 여러 프로세스가 동시에 참조할 순 없다.




구조 


Adapter

호환성이 없는 클래스들의 인터페이스를 다른 클래스가 이용할 수 있다록 변환.


Bridge 

구현부와 추상층을 분리하여 서로가 독립적으로 확장가능


Composite

여러 객체를 가진 복합 객체와 단일 객체를 구분없이 하나의 인터페이스로 다룸.


Decorator

객체 간의 결합을 통해 능동적으로 기능을 확장하는 패턴


Facade

복잡한 서브 클래스들을 묶어 하나의 상위 인터페이스를 구성하여 간편히 사용.


Flyweight

인스턴스를 공유해서 사용.


Proxy

객체를 바로 연결시키지 않고 여기를 거치게 하여 접근을 조절함. 



행동 


Chain of Responsibility

요청을 처리할 수 있는 객체가 여럿 존재해 하나가 처리 못하면 다른 객체가 처리함.


Command

요청을 객체의 형태로 캡슐화하여 재이용하거나 취소할 수 있도록 저장하거나 로그에 남김.


Interpreter

언어에 문법 표현을 정의하는 패턴 중 하나.


Iterator

자료구조와 같이 접근이 잦은 객체에 대한 동일한 인터페이스를 사용하도록 하는 패턴


Mediator

수많은 객체들 간의 복잡한 상호작용을 하나의 클래스로 뺀 패턴.


Memento

특정 시점의 클래스의 내부상태를 객체화해서 객체의 복구를 돕는 패턴.


Observer

한 객체의 상태가 변화하면 객체를 구독하는 다른 객체들에게 변화된 상태를 전달.


State

객체의 특정한 상태를 클래스로 빼서 이에 따라 동일한 동작을 다르게 처리할 때


Strategy

동일한 계열의 알고리즘을 클래스로 빼서 갈아 끼우는 패턴


Template Method

상위 클래스에서 골격을 정의하고, 하위 클래스에서 세부처리를 구체화


Visitor

여러 클래스들을 모두 접근해서 처리할 작업을 클래스로 뺌.

댓글 없음:

댓글 쓰기

List