Design Patterns: Elements of Reusable Object-Oriented Software의 저자 Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides는 Gang of Four라는 별명을 가지고 있다.
Gang of Four에 의해 명명된 디자인 패턴은 그 목적에 맞게 이름이 만들어졌다.
총 23가지의 패턴이 있고, 패턴들은 크게 Creational(생성), Structural(구조), Behavioral(행위) 세 가지 카테고리로 나뉜다.
Creational Pattern
객체의 생성 방식을 결정한다. 객체를 생성하고, 반복적인 객체 생성 대신 객체를 복제(Cloning) 하는 방식을 제안한다.
Structural Pattern
각 객체를 어떻게 유기적으로 구조화하는지 설명한다.
객체의 역할과 책임에 맞는 효율적 구조화를 목표로 한다.
Behavioral Pattern
객체가 작업을 분배하는 방식에 초점을 둔다.
각 객체가 단일 응집 기능을 수행하는 방법을 설명한다. 즉 독립된 객체를 어떻게 움직여서 하나의 목적을 달성하게 할 것인가에 집중한다.
Behavioral Pattern에 대한 간단한 예시로, 자동차 경주의 피트 크루(pit crew)가 있다. 각 크루 멤버를 하나의 객체로 생각한다. 각 크루 멤버는 피트 스톱 타이밍에 연료 보급, 타이어 교체, 수리 등 각자의 임무를 수행한다. 그리고 그들의 임무는 하나의 목표, '우승'이라는 목표를 위한 것이다. 이처럼 Behavioral Pattern은 하나의 목표 수행을 위한 각 객체의 행동에 집중한다.
참고
'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 |