Open yepdi opened 2 years ago
협력 : 다양한 객체들이 어떤 기능을 구현하기 위해 메시지를 주고받으면서 상호작용하는 것 (메시지?)
책임 : 객체가 협력에 참여하기 위해 수행하는 로직
역할 : 객체들이 협력안에서 수행하는 책임들이 모여 객체가 수행하는 것
협력이란 어떤 객체가 다른 객체에게 무엇인가를 요청하는 것. 한 객체는 어떤 것이 필요할 때 다른 객체에게 전적으로 위임하거나 서로 협력. 두 객체가 상호작용을 통해 더 큰 책임을 수행
객체의 행동을 결정하는 것이 협력이라면 객체의 상태는 그 객체가 행동을 수행하는데 필요한 정보가 무엇인지 결정
책임을 수행하는데 필요한 정보를 가장 잘 알고 있는 전문가에게 그 책임을 할당 (정보전문가 패턴)
객체지향 설계는 협력에 필요한 메시지를 찾고 메시지에 적절한 객체를 선택하는 반복적인 과정
협력
협력 : 다양한 객체들이 어떤 기능을 구현하기 위해 메시지를 주고받으면서 상호작용하는 것 (메시지?)
책임 : 객체가 협력에 참여하기 위해 수행하는 로직
역할 : 객체들이 협력안에서 수행하는 책임들이 모여 객체가 수행하는 것
협력이란 어떤 객체가 다른 객체에게 무엇인가를 요청하는 것. 한 객체는 어떤 것이 필요할 때 다른 객체에게 전적으로 위임하거나 서로 협력. 두 객체가 상호작용을 통해 더 큰 책임을 수행
객체의 행동을 결정하는 것이 협력이라면 객체의 상태는 그 객체가 행동을 수행하는데 필요한 정보가 무엇인지 결정
책임
책임 할당
책임을 수행하는데 필요한 정보를 가장 잘 알고 있는 전문가에게 그 책임을 할당 (정보전문가 패턴)
객체지향 설계는 협력에 필요한 메시지를 찾고 메시지에 적절한 객체를 선택하는 반복적인 과정
책임주도 설계 (RDD)
메시지가 객체를 결정한다
행동이 상태를 결정한다
역할
유연하고 재사용 가능한 협력
객체대 역할
역할과 추상화