[객사오] 책임 - 책임의 분류

  1. 개요

    크레이그 라만은

    객체의 책임을

    1. 하는 것
    1. 아는 것

    두 가지로 분류한다.

  1. 하는 것

    객체의 책임중 수행해야하는 행위의 집합을 말한다.

    1. 스스로 하는 것
      • 객체를 생성, 계산하는 등의 스스로 수행하는 행위
    1. 다른 객체의 행동을 시작시키는 것
      • 다른 객체가 특정 행동을 하도록 요청
    1. 다른 객체의 활동을 제어하고 조절하는 것
      • 협력하는 객체들의 활동을 조율하고 제어
  1. 아는 것

    객체의 책임 중에 알고 있어야 하는 정보의 집합임.

    1. 개인적인 정보에 관해 아는 것
      • 객체 자신에 대한 정보
    1. 관련된 객체에 관해 아는 것
      • 협력하는 다른 객체에 대한 정보
    1. 자신이 유도하거나 계산할 수 있는 것에 관해 아는 것
      • 계산이나 추론을 통해 얻을 수 있는 정보
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