04 설계 품질과 트레이드 오프
2020. 2. 10.
들어가며 객체지향 설계의 핵심은 역할, 책임, 협력이다. 협력 - 애플리케이션의 기능을 구현하기 위해 메세지를 주고받는 객체들 사이의 상호작용. 책임 - 객체가 다른 객체와 협력하기 위해 수행하는 행동. 역할 - 대체 가능한 책임의 집합. 역할, 책임, 협력중에서 가장 중요한 것은 책임이다. 객체지향 설계란? 객체에게 올바른 책임을 할당하며, 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동이다. 결합도와 응집도를 합리적으로 유지할 수 있는 원칙이 있다. 객체의 상태가 아닌 행동에 초첨을 맞추는것이다. 객체를 단순 데이터 집합으로 바라보는 시각은 객체의 내부 구현을 퍼블릭 인터페이스에 노출시켜 설계가 변경에 취약해지기 때문이다. 행동 즉, 책임 주도 설계가 데이터 중심 설계보다 어떤 면이 좋은지 살..