책은 '구현패턴' 대해서 다루고 있다단어 자체가 생소한데 디자인 패턴이 클래스와 객체간에 관계에 대한 결정이나통신하는 방법을 서술  ( 설계에 관한 내용)이라고 한다면구현 패턴은   근본적인프로그래밍을 하면서 수없이 반복되는 작업자잘한 결정 사항에관한 내용을 기술한다


    패턴을 사전에서 찾아보면 "일정한 형태양식반복되는 작업이다 책에서의 패턴이란프로그래밍에서 발생하는 반복적이고 공통적인 문제를 예전에 했던 경험(연역적)이나 실용적(귀납적) 근거들로 해결책틀을 만들어 놓은 조언이다

  프로그래밍을 하다 보면 의사결정(판단) 많이 하게 된다판단을 하는 것은 각각 비용이 든다프로그래밍을   결정해야 할사항은 과거에 이미 경험했던 것과 비슷한 경우가 많다판단에 대한 경험이나 실용적인 근거가 있다면다음 판단을    정형화 되있는 판단 패턴으로 풀게될  있고 비용을 줄일  있게 된다패턴을 쓰는 이유는 패턴이 있으면 반복되는 판단을 줄일  있고 더불어비용을 줄일  있기 때문이다. 패턴이 반복적으로일어나는 문제에 대한 합리적인 해결책을 제공하기 때문에프로그래머가 남는 시간과 에너지,창의력을 진정 독창적인 문제 해결에 사용할  있게 해준다.


  패턴을 쓰면 비용이 줄일  있다는 것은 어떤 의미일까사람이 어떤 일을  때에 가장 시간이 걸리는 일은 일을 어떻게 해야할지를 생각하는 작업이다일단 어떻게 해야할지를 정해두면 때부터는 보다 쉽게 일을   있다. 패턴은 생각을 하기 위한 틀을 제공해주고어떻게 해야하는지에 대한 기본적인 것을  수있게 하기 때문에 생각을 하는 시간을 줄이는데에 도움을   있다패턴을 쓰면 생각을 어떻게 전개해야 할지에 대해 도움을 주고생각을 어떻게 해야할지에 대한  자체에 대해 배울수 있다.


   패턴에는 판단하게  조건환경 등등이 명세가 걸려있다패턴은 어떠한 환경과 조건에서라면 어떤 판단이 좋다라고 정하게 하는 좋은 판단들을 모아놓은 것이다패턴이 항상 옳은 것은 아니다모든 패턴은 적당히 틀리고적당히 옳다패턴은 절대적인 진리가 아니므로사람의 의사 결정을 돕는 도구 정도로 생각하는 것이 좋다.  그래서 좋은 디자인패턴책에는 이런환경에선 유리하고 저런 환경에선 불리하다는 안티패턴도 같이 제시하고 있다


  패턴은 결정 요소들 간의 상대적 우선 순위를 나타낸다. 결정이라는 것은 있는 선택지에서고르는 choice 아니라 상황내에서 만들어가는 decision이다결정요소라는 것은 패턴을 결정하게(만들게하는 의사결정요소를 의미한다성능을 중시할 때의 요소와수정을 중시할 때의요소는 다르다각각의 조건과 환경에 따른 요소를 결정하게 한다.


  책에서는 프로그래밍을   생기는 수많은 의사결정의 패턴에 대해서서 설명하고 있고의사결정을 하는 각각의 이유를 설명할  있게 해준다
.

'Study & Idea' 카테고리의 다른 글

공정률  (0) 2011.08.16
읽고, 읽고, 또 읽어라  (2) 2010.08.13
비슷한 작업 다시하기 + 프로그래머를 위한「공부론」  (2) 2010.06.09

WRITTEN BY
뮤네

,