본문 바로가기

책/객체지향의 사실과 오해 (완)

07 함께 모으기

책에서 언급한 내용들을 한데 모으며 이러한 것들을 배웠고 또 어떻게 써먹을 수 있는지 알려주는 챕터였습니다. 총정리를 하는 성격이 강했기에 새롭게 배운 내용들이 적습니다. 그렇기에 포스팅의 길이가 다소 짧을수 있습니다.


객체지향 설계 안에 존재하는 세 가지 상호 연관된 관점에 관해 설명한다. 파울러는 세가지 관점을 각각 개념 관점, 명세 관점, 구현 관점이라고 부른다.
...
개념 관점에서 설계는 도메인 안에 존재하는 개념과 개념들 사이의 관계를 표현하다.
...
실제 도메인의 규칙과 제약을 최대한 유사하게 반영하는 것이 핵심이다.
...
명세 관점에 이르면 사용자의 영역인 도메인을 벗어나 개발자의 영역인 소프트웨어로 초점이 옮겨진다. 명세 관점은 도메이느이 개념이 아니라 실제로 소프트웨어 안에서 살아 숨쉬는 객체들의 책임에 초점을 맞추게 된다. 즉 객체의 인터페이스를 바라보게 된다.
...
구현 관점의 초점은 객체들이 책임을 수행하는 데 필ㅇ요한 동적하는 코드를 작성하는 것이다.
...
클래스는 세 가지 관점을 모두 수용할 수 있도록 개념, 인터페이스, 구현을 함께 드러내야 한다.

객체지향 설계에서 언급하는 내용들인 개념, 명세, 구현에 대해 이야기를 하고 있습니다. 또한 이 것들은 차례대로 개발되는 것이 아닌 모두 다른 방향성을 지닌 관점이며 이 것들을 한 데 모아 조화롭게 설계를 해야 한다 이야기하고 있습니다.

 

코드와 세 가지 관점

코드는 세 가지 관점을 모두 제공해야 한다.

소프트웨어 클래스가 도메인의 개념의 특성을 최대한 수용하면 변경을 관리하기 쉽고 유지보수성을 향상시킬 수 있다.

이전 장에서도 했던 이야기로 설계를 올바르게 하였을 경우 유지보수성이 증가한다는 이야기 입니다.

' > 객체지향의 사실과 오해 (완)' 카테고리의 다른 글

06 객체지도  (0) 2024.03.15
05 책임과 메시지  (1) 2024.01.23
04 역할, 책임, 협력  (2) 2024.01.23
03 타입과 추상화  (0) 2024.01.10
02 이상한 나라의 객체  (0) 2024.01.07