본문 바로가기
책/클린 아키텍처

20장 업무 규칙

by 오오오니 2025. 3. 18.

20장 업무 규칙

비어 있음
2024년 8월 18일
업무 규칙 : 사업적으로 수익을 얻거나 비용을 줄일 수 있는 규칙 또는 절차
N%의 이자를 부과한다는 사실은 핵심 업무 규칙이다.
핵심 업무 데이터 : 대출 잔액, 이자율, 지급 일정
엔티티 : 핵심 규칙 + 핵심 데이터

엔티티

핵심 업무 규칙을 구체화 한다.
핵심 업무 데이터를 포함하거나 쉽게 접근할 수 있다.
엔티티의 인터페이스는 핵심 업무 규칙을 구현한 함수로 구성된다.
데이터 베이스, 사용자 인터페이스, 서드파티 프레임워크에 대한 고려사항들을 알고 있으면 안된다. 어떠한 시스템에서도 수행할 수 있다.

유스케이스

엔티티처럼 순수하지 않음
입력, 사용자, 출력을 처리하기 위한 단계를 기술한다.
사용자 인터페이스를 기술하지 않는다. 콘솔, 웹 등등
엔티티의 핵심 업무 규칙과는 반대로 애플리케이션의 특화된 업무 규칙을 설명하며 사용자와 엔티티 사이의 상호작용을 규정한다.
유스케이스는 엔티티 내부의 핵심 업무 규칙을 어떻게, 그리고 언제 호출할지를 명시하는 규칙을 담는다.
유즈케이스는 객체다.
엔티티보다 저수준이다.

요청 및 응답 모델

유스케이스는 사용자나 다른 컴포넌트와 주고 받는 방식에 대해서 눈치챌 수 없다.
HttpRequest나 HttpResponse 같은 표준 프레임워크 인터페이스로부터 파생되지 않는다.
엔티티 객체를 가리키는 참조를 요청 및 응답 데이터 구조에 포함하려는 유혹을 받을 수도 있다. 하지만 두 객체의 목적은 완전히 달라 시간이 지나면 다른 이유로 변경된다.
따라서 공통 폐쇄 원칙과 단일 책임 원칙을 위배한다.

' > 클린 아키텍처' 카테고리의 다른 글

22장 클린 아키텍처  (0) 2025.03.18
21장 소리치는 아키텍처  (0) 2025.03.18
19장 정책과 수준  (0) 2025.03.18
18장 경계 해부학  (0) 2025.03.18
17장 경계: 선 긋기  (0) 2025.03.18