MubCrazy2014. 2. 9. 02:46

가끔 C를 처음 배우고, 객체지향 프로그래밍을 시작한 사람들에겐 주요 키워드가 있다

바로 "Design Pattern" <이하 DP>


그도 그럴것이 절차지향 처음하다가 객체지향을 막 접한 상태에서 DP에 관한 설명이나 책을 보면

"이게 뭔 소리야?", "그냥 이런게 있나보다..." 한다.

그리고 그것이 객체지향 프로그래밍에서 꼭 갖춰야할 한가지 요소로 판단한다.


그래서 객체지향을 막 접한 이들이 DP 서적을 볼 때 

'과연 이해는 하고 있을까?'

'주변의 추천에 의해서 먼저 보는 것인가?'

'저걸 지금 보면 적용할 수 있을 만한 안목이 있을까?'

이런 생각들을 하게 된다.


사실 객체지향적 사고가 천재적으로 뛰어나다면 DP를 따로 공부하지 않아도 된다.

(협업을 위해, 다른이에게 쉽게 자신의 코드를 이해시키기 위해 필요할 뿐..)


GoF의 DP는 객체지향의 전문가들이 모여 자주쓰는 객체지향 설계 방법을 정의해 놓은 것이다.

그뿐이다. 가끔 패턴 맹신론자들이 나와서 DP의 이름을 쉴세없이 나열하면서 설명하면,

'리스코프 치환은 알까?'

'아니 그보다 더 기초적으로 응집도 높은 코드와 결합도 높은 코드의 차이는 알까?' 라는 생각을 하게 된다.


각각의 DP는 홀로 쓰이는 경우가 적기 때문에, 따로따로 공부해봤자

구현에 아름답게 적용할 수 있는 경우는 지극히 적다..


http://www.codeproject.com/Articles/6849/Design-Patterns-Implementation-in-a-Storage-Explor

http://www.codeproject.com/Articles/12183/Design-Your-Soccer-Engine-and-Learn-How-To-Apply-D


Factory 가 없는게 흠이지만, 충분히 읽어볼만 함!







Posted by 슈퍼 점프