본문 바로가기

Development Note

RTP : 3장. 패턴

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
3장에서는 주로 패턴이 무엇을 의미하는지, 또 패턴 중독의 경우와 한 패턴이 여러 형태로 존재할 수 있는지를 설명한다.

패턴이란?

일단 패턴이라는것은 건축에서 부터 비롯된 말이다. 패턴은 세상에 발생하는 사물인 동시에, 그것을 어떻게 창조할 수 있는지, 그리고 언제 창조해야 하는지를 알려주는 규칙이다. 패턴은 과정인 동시에 대상이다. 살아있는 대상에 대한 기술이기도하고, 만들어내는 과정에 대한 묘사이기도 하다.

패턴 중독

http://developers.slashdot.org/comments.pl?sid=33602&cid=3636102 에 가면 패턴 중독을 풍자해 놓은 글이 있다.

패턴의 진정한 성과는 패턴을 현명하게 사용할때 난다. 리팩터링을 통해 점진적으로 패턴을 도입하면, 패턴으로 인한 과도한 설계가 발생할 기회도 줄어든다. 그리고 리팩터링을 더 잘 이해할수록 패턴이 주는 즐거움을 이해할 확률도 높아진다.

패턴을 구현하는 다양한 방법

패턴 구현에 있어 최소주의자가 되는 것은 발전적 설계를 위한 연습의 일부다. 많은 경우, 패턴을 사용하지 않은 구현을 패턴을 사용하도록 발전시켜야 할 필요가 있을 수 있다. 다시 말하면, 패턴 북에서 제시하는 어떠한 특정 패턴의 구현이 아니라, 꼭 필요한 부분만 도입해야 한다.


패턴 목표, 패턴 지향, 패턴 제거 리팩터링

패턴 목표 리팩터링은 어떤 로직을 특정 패턴으로 리팩터링하는 것을 의미한다. 패턴 지향 리팩터링은 특정 패턴을 '지향' 하여 패턴에 가까워 지도록 리팩터링을 하는 것을 의미하며, 패턴 목표와의 차이점에는 특정 패턴을 중용적으로 구현하는 것을 의미한다는 것이 있다. 패턴 제거 리팩터링은 과도한 설계가 된(특정 패턴을 구현한 것이 해가되는 경우) 부분을 제거 해 나가는 리팩터링을 의미한다.