Fundamental Design Patterns ¶
DesignPatterns 의 패턴들에 비해 구현이 간단하면서도 필수적인 패턴. 전체적으로 가장 기본이 되는 소형 패턴들. 다른 패턴들과 같이 이용된다. Refactoring 을 하면서 어느정도 유도되는 것들도 있겠다. (Delegation의 경우는 사람들이 정식명칭을 모르더라도 이미 쓰고 있을 것이다. Java 에서의 InterfacePattern 도 마찬가지.)
기본적인 것으로는 Delegation, DoubleDispatch 가 있으며 (SmalltalkBestPracticePattern에서 언급되었던 것 같은데.. 추후 조사), 'Patterns In Java' 라는 책에서는 Delegation 과 Interface, Immutable, MarkerInterface, Proxy 를 든다. (Proxy 는 DesignPatterns 에 있기도 하다.)
- DelegationPattern
- DoubleDispatch
- InterfacePattern
- ImmutablePattern
- MarkerInterface
- Proxy
근데, 지금 보면 저건 Patterns in Java 의 관점인 것 같고.. 그렇게 '필수적 패턴' 이란 느낌이 안든다. (Proxy 패턴이 과연 필수개념일까. RPC 구현 원리를 이해한다던지 등등이라면 몰라도.) Patterns in Java 에 있는건 빼버리는 것이 좋을 것 같다는 생각. (DoubleDispatch 는 잘 안이용해서 모르겠고 언어 독립적으로 생각해볼때는 일단은 Delegation 정도만?) --1002