객체지향의 사실과 오해 독후감 역할,책임,협력 이라는 3요소

Description: 객체지향의 사실과 오해역할, 책임, 협력 관점에서 본 객체지향라는 책을 읽은 뒤 객체 지향을 다시한 번 생각해본 것을 적은 독후감입니다. 특히 기본적인 역할,책임,협력이라는 3요소를 기반으로 객체는 고립된섬이 아니다라는 부분이 인상깊었습니다.

현재 노트: KR-410.10 d 객체지향의 사실과 오해 독후감 역할,책임,협력 이라는 3요소
상위 분류: KR-410.10 개발자로서 한 번쯤 생각해볼 고민들

#개인학습과성장 #성장경험

책 제목: 객체지향의 사실과 오해역할, 책임, 협력 관점에서 본 객체지향

조영호 저 | 위키북스 | 2015년 06월 17일
해당 책을 읽고 작성한 객체 지향에 대한 생각을 정리한 글입니다.
https://www.yes24.com/Product/Goods/18249021

가장 먼저 느낀 점. 객체 지향의 3요소

객체 지향 설계시 행동상태중 무엇을 우선시 하여 설계하여야하는지?

-> 행동. 상태먼저 설계할 경우 객체의 고립된 섬으로 만든다. 이 객체가 어떤 행동을 할지를 설계한 후, 해당 행동을 위한 상태를 정의한다.
이전에는 상태를 우선 정의 하는 습관이 있었다. 하지만 책을 읽으면서 곰곰히 생각해보니 우리는 어떤 목적을 우선시해야하며 그것이 추상화되고 이를 수행하기 위해 상태를 정의하는게 맞는거 같다

어떻게가 아니라 무엇을에 집중하라

행동에 있어서 단순하게 명령한다를 수행하는것이 나을 수도 있다. 예를들어 엘리베이터 버튼을 눌러라. 라고 하면 끝이지 어떤 손가락으로 어떤 강도로 눌러라는 필요없다. 하지만 몇층을 눌러라 이건 중요한데 이런 필요한 무엇을 정의해야지 어떻게는 정의할필요없다. 협력하는 대상에게 맡겨라

인터페이스와 구현의 분리 원칙

책을 읽으면서 많이 느꼈던 부분. 공토 인터페이스는 유저입장에서 필요한 부분이고 구현은 내부 인터페이스 즉 코드 부분이다. 이를 분리하는것이 중요하다. 대표적으로 커피머신을 생각해보자.

커피머신의 인터페이스

커피머신의 구현

이렇듯 인터페이스와 구현을 분리하는 과정에서 명확한 객체의 구조나 책임을 생각해볼 수 있다.

도메인모델과 유스케이스

도메인모델: 프로그램에 대한 단순화하고 추상화된 구조표현
유스케이스: 시나리오 명세

개념관점, 명세관점, 구현관점

개념관점: 사용자관점. 기능적인 부분
명세관점: 인터페이스와 구현의 분리. 살짝 코드가 들어가기전 단계
구현관점: 실제 구현인 코드 관련