"협력 안에서 객체의 행동은 결국 객체가 협력에 참여하면서 완수해야 하는 책임을 의미한다." "따라서 어떤 책임이 필요한가를 결정하는 과정이 전체 설계를 주도해야한다."
객체의 행동은 객체가 협력에 참여하는 유일한 방법이다. 따라서 객체가 적합한지를 결정하는 것은 그 객체의 상태가 아니라 행동이다.
상태를 먼저 결정하고 행동을 나중에 결정했을 때 나쁜 영향
캡슐화가 저해된다.
객체를 협력자가 아닌 고립된 섬으로 만든다.
객체의 재사용성이 저하된다.
책임-주도 설계 (Responsibility-Driven Design, RDD)
협력하는 객체를 만들기 위한 설계
협력이라는 문맥 안에서 객체의 행동을 생각하도록 도움으로써 응집도 높고 재사용 가능한 객체를 만들 수 있게 한다.
책임이라는 것은 역할을 부여받았다는 말이고 주도라는 것은 스스로 상태를 변경할지 결정한다.
이러한 설계를 통해 객체는 자율성을 갖고 서로 협력한다.
Last updated 10 months ago