[오브젝트] 8일차

da__ell·2023년 8월 8일
0

독서 - 오브젝트

목록 보기
8/25
post-thumbnail

p.92 ~ p.107

역할과 추상화

역할은 공통의 책임을 바탕으로 객체의 종류를 숨긴다는 점에서 객체의 추상화로 볼 수 있다.

  1. 추상화는 많은 세부 사항이 있더라도 상위 수준의 정책을 쉽고 간단하게 표현할 수 있다.
    너무 세부적인 사항들은 객체 사이의 핵심적인 관계와 관련된 큰 그림을 파악하는 것은 방해한다.
    협력의 관점에서 세부적인 사항을 무시하고 추상화에 집중하는 것이 유용하다.
  2. 추상화는 설계를 유연하게 만들 수 있다.
    협력 안에서 동일한 책임을 수행하는 객체는 동일한 역할을 수행하므로 서로 대체가 가능하다. 다양한 환경에서 다양한 객체를 수요하는 것은 협력을 유연하게 만든다.

04. 설계 품질과 트레이드 오프

객체지향 설계란 올바른 객체에게 올바른 책임을 할당하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동이다.

객체지향의 두 가지 관점

  1. 객체지향 설계의 핵심은 책임
  2. 책임을 할당하는 작업은 응집도와 결합도 같은 설계 품질과 연관되어 있다.

데이터 중심 설계의 문제점

객체지향 설계는 책임을 중심으로 설계하는 것이다. 데이터 즉 상태를 중심으로 설계하는 것은 구현을 중심으로 설계하는 것이고 변경에 취약하다.

데이터 중심 설계는 객체가 포함해야할 데이터에 집중한다.

profile
daelkdev@gmail.com

0개의 댓글