04. 역할, 책임, 협력
리뷰기간: 2024년 10월 28일 → 2024년 11월 3일
태그: 작성완료
✨ 내용 요약
- 협력
- 객체가 협력하는 이유 : 동일한 목적을 이루기 위함
- 1장의 내용처럼 협력관계를 통해 동일한 목적을 달성하기 위해 메세지 ( 요청 ) 과 응답으로 협력 관계를 이룬다
- 책임
- 어떠한 요청에 응답을 하거나 적절한 행동을 취해야할
의무
- 책임의 분류
- 하는것 ( doing ) - 어떠한 행동을 취하는것
- 아는것 ( knowing ) - 알고있는 어떠한 값을 할당하는것 ( ex. init 구문..? )
- 메세지를 통해 협력관계에 있는 객체들은 책임을 가지고 있어야 한다
- 어떠한 요청에 응답을 하거나 적절한 행동을 취해야할
- 객체지향의 여러 설계 기법
- 책임주도설계(RDD) - 협력에 필요한 책임들을 식별하고 적합한 객체에게 책임을 할당
- 디자인패턴 ( Design Pattern ) - 해결방법을 정의해 놓은 설계 템플릿 ( MVC, MVVM ..etc )
- 테스트주도개발(TDD)
- 테스트를 먼저 작성하고 테스트를 통과하는 구체적인 코드를 추가하며 Application을 완성해 가는 방식
- 책임주도 설계를 통해 도달해야 하는 목적지를
테스트
라는 안전장치를 통해 빠르고 견고하게 도달하도록함
📝 감상 및 리뷰
- 1장부터 계속 나왔던 역할, 책임, 협력 내용이 반복적으로 나와 지루했다 그만큼 중요한 내용인것 같다
- TDD 와 디자인패턴 등이 뭔지 알고 있었지만 이것이 객체지향의 개념인것도 처음 알게 되었다
🛠️ 실무/프로젝트 적용
- 책임을 갖는 협력관계들의 객체들에게 적절한 역할을 부여하도록 코드를 작성해야 겠다
- TDD는 꼭 한번 적용해야지 생각만 하고 적용해보지 못하였다, 프로젝트를 통해 꼭 구현 해보고싶다.