코드와 모델을 밀접하게 연관시키는 것은 코드에 의미를 부여하고 모델을 적절하게 한다.- 에릭 에반스 객체지향 설계는 세 가지 관점으로 바라볼 수 있다. 이 세 가지 관점들을 통해 클래스를 어떻게 설계해야 하는지 힌트를 얻을 수 있다.개념 관점 (Conceptual Perspective)도메인 안에 존재하는 개념과 개념들 사이의 관계를 표현한다.사용자가 도메인을 바라보는 관점을 반영한다.실제 도메인의 규칙과 제약을 최대한 유사하게 반영하는 것이 핵심이다.명세 관점 (Specification Perspective)개발자의 관점으로, 객체가 협력을 위해 ‘무엇’을 할 수 있는가에 집중한다.인터페이스와 구현을 분리하고, 인터페이스를 설계하여 객체의 책임을 명확하게 설정한다.구현 관점 (Implementation..