SmalltalkBestPracticePatterns:2.1

From 흡혈양파의 번역工房
Jump to navigation Jump to search
2.1 패턴

패턴

개발자는 결코 사전 준비 없이 개발을 시작하지 않는다. 그럼에도 많은 문제들이 개발 단계에 걸쳐 다양한 방식으로 재발한다. 오랜 시간 자리를 지켜온 공학 원리들은 재발하는 문제에 대한 적절한 해결방법이 담긴 안내서를 수집함으로써 개발의 반복적인 특성에 중점을 둔다. 가령 강거더교(bridge) 설계자는 물리학이 아니라 I-beams와 같은 안내서에 실린 해결방법을 이용해 설계할 것이다.


이후 소프트웨어 재사용에 대한 관심덕분에 소프트웨어 공학이 다른 어떤 공학 원리들과 마찬가지로 반복된다는 사실을 인식하게 되었다. 소프트웨어 개발에서 공통성(commonality)의 사용이 문제가 되는 경우, 대규모 코드 재사용은 해답이 아니다.


패턴은 소프트웨어 공학의 공통 주제들에 대해 체계적인 변화(variation)를 주는 데에 좀 더 유연한 기반을 형성한다. 각 패턴은 하나의 재발하는 문제에 대한 해결방법, 즉 문제의 존재 유무를 인식하는 방법과 해결책을 마련하는 방법을 기록하여 컨텍스트에 적합하게 해준다. 패턴은 자연스럽게 다른 패턴으로 이끌어 광범위한 문제를 해결할 수 있는 유연한 결정 구조를 형성한다.


Notes