STRATEGY
디자인 패턴에 따라 규칙이나 대체 가능한 프로세스를 구현Routing Service
가 최적의 경로를 찾을 때, Leg
의 총합이 가장 작은 항로를 선택할 수 있도록, Policy
를 부여할 수 있음STRATGEY
와 같은 디자인 패턴을 적용할 때는 객체의 수가 문제가 될 수 있는데, 이 부분이 문제가 된다면 컨텍스트를 공유하는 상태 없는 객체로 STREATEGY
를 구현해서 부담을 줄일 수 있음부분과 전체의 계층을 표현하기 위해 복합 객체를 트리 구조로 만든다. COMPOSITE
패턴을 이용하면 클라이언트가 개별 객체와 복합 객체를 동일하게 다룰 수 있다.
도메인 모델에 디자인 패턴을 적용할 경우 가장 우선적으로 고려할 사항은 적용하려는 패턴의 기본 아이디어가 정말로 도메인 개념에 적합한지 여부다.
도메인 개념 간의 부분/전체 계층구조가 존재해야 한다.
제한된 수의 VALUE OBJECT
집합이 자주 사용될 경우 VALUE OBJECT
를 FLYWEIGHT
로 구현하는 것이 적절하다.
FLYWEIGHT
는 구현에 대한 디자인 패턴 선택 사항이고, 위에서 언급한 COMPOSITE
은 모델과 구현에 모두 패턴이 적용되어야 한다.