본문 바로가기

Programming/기초지식

[디자인 패턴] 생성 패턴 | 구현 패턴 | 행위 패턴

반응형

Design Patterns: Elements of Reusable Object-Oriented Software의 저자 Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides는 Gang of Four라는 별명을 가지고 있다. 

 

Amazon.com

Enter the characters you see below Sorry, we just need to make sure you're not a robot. For best results, please make sure your browser is accepting cookies.

www.amazon.com

 

Gang of Four에 의해 명명된 디자인 패턴은 그 목적에 맞게 이름이 만들어졌다. 

총 23가지의 패턴이 있고, 패턴들은 크게 Creational(생성), Structural(구조), Behavioral(행위) 세 가지 카테고리로 나뉜다.

 

Creational Pattern

객체의 생성 방식을 결정한다. 객체를 생성하고, 반복적인 객체 생성 대신 객체를 복제(Cloning) 하는 방식을 제안한다.

 

Structural Pattern

각 객체를 어떻게 유기적으로 구조화하는지 설명한다. 

객체의 역할과 책임에 맞는 효율적 구조화를 목표로 한다.  

Behavioral Pattern

객체가 작업을 분배하는 방식에 초점을 둔다. 

각 객체가 단일 응집 기능을 수행하는 방법을 설명한다. 즉 독립된 객체를 어떻게 움직여서 하나의 목적을 달성하게 할 것인가에 집중한다.

 

Behavioral Pattern에 대한 간단한 예시로, 자동차 경주의 피트 크루(pit crew)가 있다. 각 크루 멤버를 하나의 객체로 생각한다. 각 크루 멤버는 피트 스톱 타이밍에 연료 보급, 타이어 교체, 수리 등 각자의 임무를 수행한다. 그리고 그들의 임무는 하나의 목표, '우승'이라는 목표를 위한 것이다. 이처럼 Behavioral Pattern은 하나의 목표 수행을 위한 각 객체의 행동에 집중한다.

 

참고

https://www.coursera.org/learn/design-patterns

 

디자인 패턴

앨버타 대학교에서 제공합니다. This course extends object-oriented analysis and design by incorporating design patterns to create interactive applications. ... 무료로 등록하십시오.

www.coursera.org

반응형

'Programming > 기초지식' 카테고리의 다른 글

컴파일 타임과 런타임  (0) 2022.01.31
MIME type  (0) 2022.01.11
8080 포트가 이미 사용중이라면  (0) 2021.12.23
[Java] 올바른 코딩 습관  (0) 2021.12.07
[티스토리] 임시저장 목록 정리하기(삭제)  (0) 2021.12.07