추상화(2)
-
07. 함께 모으기, 추상화 기법
# 객체지양 설계 내 상호 연관 관점 ## 개념 관점 설계는 도메인 안에서 존재하는 개념과 개념들 사이 관계를 표현 실제 도메인의 규칙 및 제약을 최대한 유사하게 반영 ## 명세 관점 사용자의 영역인 도메인을 벗어나 개발자의 영역인 SW에 초점이 옮겨짐 도메인에서 벗어나 실제 SW안에서 살아 숨쉬는 객체들의 책임에 초점 즉, 인터페이스를 바라봄 '무엇'을 할 수 있는가에 초점 ## 구현 관점 실제 작업을 수행하는 코드와 연관 객체들의 책임을 수행하는 데 필요한 동작하는 코드를 작성 '어떻게' 수행할 것인가에 초점 구현하지 않고 머리속으로만 구상한 설계는 코드로 구현하는 단계에서 대부분 변경됨. 설계 작업은 구현을 위한 스케치 를 작성하는 단계지 구현 그 자체일 수 없음. 중요한 것은 설계가 아니라 코드...
2023.05.31 -
03. 타입과 추상화
추상화의 의도는 목적에 집중 - 지하철 노선토 핵심은 정확한 지형 정보가 아닌 갈아타는 위치 알아야 하는 사실만 정확하게 표현, 몰라도 되는 정보는 무시 추상화의 목적 : 불필요한 부분을 무시해서 현실에 존재하는 복잡성을 극복 # 추상화 어떤 양상, 사항, 구조를 좀 더 명확하게 이해하기 위해 특정 절차나 물체를 의도적으로 생략하거나 감춰서 복잡도를 극복하는 방법 ## 추상화 차원 - 구체적인 사물들 간 공통점을 취하고, 차이점은 버리는 일반화를 통해 단순화 - 중요한 부분을 강조하기 위해 불필요한 세부 사항을 제거하여 단순화 # 객체 분류의 관점 - 심블 : 개념을 가리키는 간략한 명칭 : 트럼프 - 내연 : 개념의 완전한 정의, 객체가 개념에 속하는지 여부를 확인 가능 : 몸이 납작한 네모 모퉁이 -..
2023.05.29