2장. "패턴"-성 테스트, 원형 패턴및 3의 법칙
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
새로운 패턴이 제안되는 순간부터 널리 채택되기까지 패턴은 디자인 커뮤니티와 소프트웨어 개발자의 여러 차례에 걸친 심층 검사를 거쳐야 할 수 있습니다. 이 장에서는 새로 도입된 '프로토 패턴'이 3의 법칙을 충족하는 경우 패턴으로 인정받을 때까지 '패턴성 테스트'를 통해 이 여정에 대해 설명합니다.
이 장과 다음 장에서는 초기 디자인 패턴을 구조화하고, 작성하고, 제시하고, 검토하는 접근 방식을 살펴봅니다. 이미 확립된 디자인 패턴을 먼저 배우고 싶다면 당분간 이 두 장은 건너뛰셔도 됩니다.
프로토 패턴이란 무엇인가요?
모든 알고리즘, 모범 사례 또는 솔루션이 완전한 패턴으로 간주될 수 있는 것은 아니라는 점을 기억하세요. 몇 가지 핵심 요소가 누락되어 있을 수 있으며, 패턴 커뮤니티에서는 일반적으로 광범위하고 비판적인 평가 없이 패턴이라고 주장하는 것을 경계합니다. 패턴의 기준을 충족하는 것처럼 보이는 것이 제시되더라도 다른 사람들의 적절한 조사와 테스트를 거치기 전까지는 패턴으로 간주해서는 안 됩니다.
알렉산더의 작업을 다시 한 번 되돌아보면 그는 패턴은 과정인 동시에 "사물"이어야 한다고 주장합니다. 이 정의는 "사물"을 만드는 것은 과정이라고 말하기 때문에 모호합니다. 그렇기 때문에 패턴은 일반적으로 시각적으로 식별 가능한 구조를 다루는 데 초점을 맞추며, 패턴을 실행에 옮긴 결과 구조를 나타내는 그림을 시각적으로 묘사(또는 그릴)할 수 있어야 합니다.
"패턴" 테스트
디자인 패턴을 공부할 때 종종 "프로토 패턴"이라는 용어를 접할 수 있습니다. 이것이 무엇일까요? 아직 "패턴"성 테스트를 최종적으로 통과하지 못한 패턴을 일반적으로 프로토 패턴이라고 합니다. 프로토 패턴은커뮤니티와 공유할 만한 가치가 있는 특정 솔루션을 확립한 누군가의 작업에서 비롯될 수 있습니다. 그러나 비교적 최근에 만들어졌기 때문에 커뮤니티는 제안된 솔루션을 적절히 검토할 기회를 갖지 못했습니다.
또는 패턴을 공유하는 개인이 '패턴' 인증 절차를 거칠 시간이나 관심이 없을 수 있으며, 대신 프로토 패턴에 대한 간단한 설명을 공개할 수도 있습니다. 이러한 유형의 패턴에 대한 간략한 설명 또는 스니펫을 패틀릿이라고 합니다.
적격 패턴을 포괄적으로 문서화하는 작업은 상당히 어려울 수 있습니다. 디자인 패턴 분야의 초기 작업을 되돌아보면, 패턴이 다음과 같은 기능을 수행하면 "좋은" 패턴으로 간주할 수 있습니다:
- 특정 문제 해결
-
패턴은 원칙이나 전략만 담아서는 안 됩니다. 솔루션을 포착해야 합니다. 이것이 좋은 패턴의 가장 필수적인 요소 중 하나입니다.
- 명확한 해결책이 없음
-
문제 해결 기법은 종종 잘 알려진 첫 번째 원칙에서 도출하려고 시도하는 경우가 많다는 것을 알 수 있습니다. 최고의 디자인 패턴은 일반적으로 문제에 대한 해결책을 간접적으로 제공하는데, 이는 디자인과 ...