728x90
시스템은 목적을 달성하기 위한 수단입니다. 그리고 모델은 시스템의 구성 요소들입니다.
모델이란 특정 목적 달성을 위해 최소한으로 필요한 요소를 갖춘 것입니다.
예시 - 온라인 쇼핑몰
- 상품 매매를 시스템화한 것
- 온라인 쇼핑몰은 매매가 효율적으로 이루어지게 도와줌
모델로 구분하기 전
상품 class |
ID 상품영 원가 판매 가격 제조년월일 제조 업체 보증 기간 대응 통신 규격 구성 부품 ㅂ부품 재료 부품 제조업자 유통 기한 소비 기한 ... |
모델 별로 구분한 후
1) 주문 시의 상품 모델
최소한으로 필요한 요소 - 상품ID, 상품명, 판매 가격, 재고 수량 등
주문 시의 상품 class |
ID 상품명 판매 가격 재고 수량 ... |
2) 배송 시의 상품 모델
최소한으로 필요한 요소 - ID, 크기, 무게 등
배송 시의 상품 class |
ID 크기 무게 ... |
주문과 배송은 달성해야 하는 목적이 다릅니다. 즉, 목적에 따라 상품의 모델이 달라지는 것입니다.
모델은 대상이 아니라 목적 달성의 수단입니다. 목적 중심으로 이름을 잘 설계하면, 목적을 달성하기에 적절한 모델을 설계할 수 있습니다.
[모델을 다시 확인하는 방법]
- 해당 모델이 달성하려는 목적을 모두 찾아냅니다.
- 목적별로 모델링을 다시 수정합니다.
- 목적 중심 이름 설계를 기반으로 모델에 이름을 붙입니다.
- 모델에 목적 이외의 요소가 들어가 있다면 다시 수정합니다.
'모델 = 클래스'는 아닙니다. 일반적으로 모델 하나는 여러 개의 클래스로 구현됩니다.
'일상 > 레벨업 독서' 카테고리의 다른 글
[내 코드가 그렇게 이상한가요?] 14장 리팩터링 : 기존의 코드를 성장시키는 기술 (0) | 2025.02.18 |
---|---|
[내 코드가 그렇게 이상한가요?] 12장 메서드(함수):좋은 클래스에는 좋은 메서드가 있다 (0) | 2024.11.15 |
[내 코드가 그렇게 이상한가요?] 11장 주석:유지 보수와 변경의 정확성을 높이는 주석 작성 방법 (0) | 2024.11.14 |
[내 코드가 그렇게 이상한가요?] 10장 이름 설계:구조를 파악할 수 있는 이름 (3) | 2024.11.14 |
[내 코드가 그렇게 이상한가요?] 9장 설계의 건전성는 여러 악마 (2) | 2024.10.28 |