본문 바로가기

PROGRAMMING/Design Pattern

GoF 디자인 패턴에 대하여

 

기술에 대하여 조금이라도 눈여겨보았던 사람은 국제 표준화 기구 (ISO)에 대해 한 번쯤 들어 보았을 것이다. 이는 나라마다 다른 표준을 전 세계적으로 사용하기 적합하게 함으로써 국가 간의 유연한 교환을 하도록 국제적으로 공인된 표준을 정의한다.

표준화는 불협화한 상호 간의 기준을 위하여 공용화된 소통의 수단으로써 활용된다.

소프트웨어를 만드는 프로그래머에게 있어 표준화란 매우 중요한 자리에 서 있을 것이다. 셀 수도 없이 많은 프로그래밍 언어들은 표준화된 규칙을 가지고 있고, 프로그래머는 이를 활용하기만 하면 무궁무진한 가능성을 가진 구조를 설계할 수 있다.

하지만, 소프트웨어 구조의 설계 또한 표준이 없으면 다소 모호해진다. 새로운 구조의 설계에는 수많은 방안이 요구되고, 이를 설명하는 데에도 많은 어려움이 있을 것이다.

그리하여, 디자인 패턴이라는 이름하에 과거의 소프트웨어 구조를 축적하여 재이용하기 좋은 형태로 특정한 규약을 정의하였다.

Gang of Four Design Patterns

소프트웨어 개발 방법에서 사용되는 디자인 패턴은, 소프트웨어 구조의 설계에 대한 다양한 문제의 해결책을 마련하기 위해 표준화된 해법을 제시한다. 이에 속하는 GoF 디자인 패턴은 이 분야의 사인방(Gang of Four)인 Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides 의 합으로 저서되었다.

 

디자인 패턴의 종류

 

Structual Patterns 구조 패턴

 

Creational Patterns 생성 패턴

 

Behavioral Patterns 행동 패턴