[BOOK : 오브젝트 14장] 일관성 있는 협력
·
BOOK
이번 장에서는 코드를 통해 협력에 대한 예제들을 보여주고 있었다.  이번 장과 15장을 끝으로 오브젝트 1회독은 마무리하게 된다. 이 책을 읽으며 많이 배우기도 하였지만 이번 정독을 끝으로 두는 것이 아닌 한번 더 읽어보며 내가 얼마만큼 더 이해할 수 있는지 더 확인해보려고 한다.  0. 서론 객체는 협력을 위해 존재한다.협력은 객체가 존재하는 이유와 문맥을 제공한다.잘 설계된 애플리케이션은 이해하기 쉽고, 수정이 용이하며 재사용 가능한 협력의 모임이다.객체지향 설계의 목표는 적절한 책임을 수행하는 객체들의 협력을 기반으로 결합도가 낮고 재사용 가능한 코드 구조를 창조하는 것이다.  유사한 요구사항을 계속 추가해야 하는 상황에서 각 협력이 서로 다른 패턴을 따를 경우 전체적인 설계의 일관성이 서서히 무너..
[BOOK : 3장] 역할, 책임, 협력
·
BOOK
해당 챕터에서는 객체지향 패러다임의 핵심 3가지에 대해 이야기하고 있다.   서론 객체지향 패러다임의 핵심은 다음과 같다. 역할 (role) 책임 (responsibility)협력 (collaboration) 객체들의 책임과 협력이 어느 정도 자리 잡은 후 사용할 수 있는 구현 메커니즘 클래스상속객체지향 설계의 핵심은 협력을 구성하기 위해 적절한 객체를 찾고 적절한 책임을 할당하는 과정에서 발생한다.   나는 다음과 같은 구절이 정말 나에게 많이 와닿았다.  "애플리케이션의 기능을 구현하기 위해 어떤 협력이 필요하고 협력을 위해 어떤 역할과 책임이 필요한지를 고민하지 않은 채 너무 이른 시기에 구현에 초점을 맞추는 것은 변경하기 어렵고 유연하지 못한 코드를 낳는 원인이 된다 "  맞다. 진행했던 프로젝트..