[오브젝트 : 코드로 이해하는 객체지향 설계] 3. 역할, 책임, 협력
객체지향 설계의 핵심은 협력을 구성하기 위해 적절한 객체를 찾고 적절한 책임을 할당하는 과정 1. 협력(collaboration) 협력이란 객체들이 기능 구현을 하기 위해 요청과 응답을 통해 상호작용 하는 것을 협력이라고 합니다. 여기서 상영은 영화에 메세지를 전송하여 예매자의 요금 계산을 요청을 합니다. 왜냐하면 영화가 요금 계산을 하기 위해 필요한 기본 요금과 할인 정책을 가장 잘 알고 있기 때문입니다. 상영이 요금계산을 위해 영화의 내부구현에 직접 접근을 하면 캡슐화의 원칙을 위반하게 되고 또한 영화의 내부 구현을 바꾸면 상영도 영향을 받게 되기 때문에 → 자신이 할 수 없는 일을 다른 객체에게 위임하면 협력에 참여하는 객체들의 자율성을 향상 시킬 수 있습니다. ※협력이 설계를 위한 문맥을 결정한다..
2021.08.24