- 개요
크레이그 라만은
객체의 책임을
- 하는 것
- 아는 것
두 가지로 분류한다.
- 하는 것
객체의 책임중 수행해야하는 행위의 집합을 말한다.
스스로 하는 것
- 객체를 생성, 계산하는 등의 스스로 수행하는 행위
다른 객체의 행동을 시작시키는 것
- 다른 객체가 특정 행동을 하도록 요청
다른 객체의 활동을 제어하고 조절하는 것
- 협력하는 객체들의 활동을 조율하고 제어
- 아는 것
객체의 책임 중에 알고 있어야 하는 정보의 집합임.
개인적인 정보에 관해 아는 것
- 객체 자신에 대한 정보
관련된 객체에 관해 아는 것
- 협력하는 다른 객체에 대한 정보
자신이 유도하거나 계산할 수 있는 것에 관해 아는 것
- 계산이나 추론을 통해 얻을 수 있는 정보
private static class King {
// 하는 것 : 토끼에게 목격자를 불러오라고 지시, 책임 (다른 객체의 행동을 시작시킴)
public void callWitnessTo(Rabbit rabbit) {
rabbit.callWitness();
}
// 하는 것 : 증언하라는 행위 요청
public void requestTestifyTo(Hatter hatter){
hatter.testify();
}
}
private static class Rabbit {
// 아는 것 : 목격자가 누구인지 아는 것 (관련된 객체에 관해 아는 것)
Hatter witness;
// 하는 것 : 모자장수에게 입장하라고 지시 (다른 객체의 행동을 시작시킴)
public void callWitness() {
witness.enterStand();
}
}
private static class Hatter {
//하는것 : 스스로 증인석으로 입장 ( 스스로 하는 것)
public void enterStand() {
}
//하는 것: 스스로 증언 하는 것 ( 스스로 하는 것)
public void testify() {
//증언
}
}
Uploaded by N2T
'자바 > 객사오' 카테고리의 다른 글
[객사오] 협력 - 요청하고 응답하며 협력하는 사람들 (0) | 2023.08.16 |
---|---|
[객사오] 재판 속의 협력 (0) | 2023.08.16 |
[객사오] 책임과 메시지 (0) | 2023.08.16 |
[객사오] 역할 - 책임의 집합의 의미하는 것 (0) | 2023.08.16 |
[객사오] 역할이 답이다 (0) | 2023.08.16 |