2023. 5. 31. 11:37ㆍ북리뷰/객체지향 사실과 오해
# 객체지양 설계 내 상호 연관 관점
## 개념 관점
설계는 도메인 안에서 존재하는 개념과 개념들 사이 관계를 표현
실제 도메인의 규칙 및 제약을 최대한 유사하게 반영
## 명세 관점
사용자의 영역인 도메인을 벗어나 개발자의 영역인 SW에 초점이 옮겨짐
도메인에서 벗어나 실제 SW안에서 살아 숨쉬는 객체들의 책임에 초점
즉, 인터페이스를 바라봄
'무엇'을 할 수 있는가에 초점
## 구현 관점
실제 작업을 수행하는 코드와 연관
객체들의 책임을 수행하는 데 필요한 동작하는 코드를 작성
'어떻게' 수행할 것인가에 초점
구현하지 않고 머리속으로만 구상한 설계는 코드로 구현하는 단계에서 대부분 변경됨. 설계 작업은 구현을 위한 스케치 를 작성하는 단계지 구현 그 자체일 수 없음. 중요한 것은 설계가 아니라 코드. 따라서 협력을 구상하는 단계에 너무 오랜 시간을 투자하지 말고, 최대한 빨리 코드를 구현해서 설계에 이상이 없는지 판단, 코드를 통한 피드백 없이는 깔끔한 설계를 얻을 수 없음
# 추상화
추상화는 도메인의 복잡성을 단순화하고 직관적인 멘탈 모델을 만드는 데 사용할 수 있는 가장 기본적인 인지 수단
## 추상화 기법 종류
### 분류와 인스턴스화
객체의 구체적인 세부 사항을 숨기고 인스턴스 간 공유하는 공통적인 특성 기반으로 범주를 형성하는 과정
공통적 개념을 적용
### 일반화와 특수화
일봔화 : 범주 사이의 차이를 숨기고 범주 간 공유하는 공통적 특성 강조
특수화 : 일반화의 역
### 집합과 분해
집합 : 부분과 관련된 세부 사항을 숨기고 부분을 사용해서 전체를 형셩
분해 : 집합의 역
'북리뷰 > 객체지향 사실과 오해' 카테고리의 다른 글
06. 객체 지도 (0) | 2023.05.31 |
---|---|
05. 책임과 메시지 (0) | 2023.05.30 |
04. 역할, 책임, 협력 (0) | 2023.05.30 |
03. 타입과 추상화 (0) | 2023.05.29 |
02. 이상한 나라의 객체 (0) | 2023.05.29 |