SRP
- 일에 대한 책임 Responsibility
- 결과에 대한 책임까지 함께 Accountability
- 메시지를 전달하는 것(외부)과 메서드를 실행하는 것(내부) 사이의 차이는
메시지는 외부에서 호출하는 것이고, 객체의 상태에 따라 내부에서 메서드를 호출한다는 것이다.
협력
책임
협력에 참여하기 위해 수행하는 로직
책임을 호출하는 애가 누군가? → Actor 는 1개 이상의 책임을 사용: Actor간의 책임이 겹치지 않는 것이 좋다
책임은 변경의 근원/변경의 원인으로 볼 수있다
SingleResponsibilityP 는 사용자에 대한 것!!!
- 각 클래스는 하나의 액터만을 위한 기능을 제공한다.
역할
협력 안에서 수행하는 책임들이 모여 객체가
SW Value
- 동작가능한 것 2. 향후변경가능성
Fan-Out Problem
- Switch문, 조건문과 같은 경우에서 매우 빈번하게 발생
OCP (Open But Closed Principle)