본문바로가기

 

Design Pattern

 

클리스터퍼 알렉산더는 패턴은 어떠한 전후 관계에서 발생되는 문제점에 대한 해결법이라고 말했다.

패턴은 문제점들의 동기를 설명하는 하나의 방법이다.

 

분류

설명

이름(Name)

모든 패턴은 자신을 식별하는 유일한 이름을 가진다.

의도(Insert)

패턴의 목적이다.

문제점(Problem)

패턴이 해결하고자 하는 문제점이다.

해결법(Solution)

패턴이 나타나는 전후 관계에서 발생하는 문제점에 대한 해결 방법을 제공하는 방법이다.

관계자(Participant)

협력자(Collaborator)

패턴과 관계되는 개체들이다.

결과(Consequence)

패턴을 이용한 결과이다. 패턴에서 동작하는 영향력들을 조사한다.

구현(Implementation)

패턴이 구현되는 방법이다.

주의:구현은 단지 패턴의 구체적인 명시에 불과하며 패턴 그 자체로 해석되어서는 안된다.

GoF 레퍼런스

(Gang of Four)

좀더 많은 정보를 GoF 책의 몇 페이지에서 얻을 수 있는가에 대한 내용이다. (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides)

 

디자인 패턴을 공부하면 다음과 같은 사항을 몸으로 익힐 수 있다.

. 공통적으로 반복해서 발생하는 문제점에 대해 기존에 존재하고 있던, 높은 품질의 해결법을 재상용한다.

. 팀 동료들과의 의사소통을 향상시키기 위한 공통의 용어를 확립한다.

. 사고의 수준을 좀더 높은 관점으로 전환한다.

. 올바른 설계를 가지고 있는지, 아니면 단지 동작만 하는지를 판단한다.

. 개인과 팀의 학습을 향상시킨다.

. 코드의 수정 가능성을 향상 시킨다.

. 패턴이 명시적으로 이용되지 않는다고 하더라도, 향상된 설계 대안들의 적응을 용이하게 한다.

. 대량의 상승 계층 구조에 대한 대안을 발견한다.