로직 컴포넌트
로직 컴포넌트는 다음을 포함하는 소프트웨어 조각입니다. 비즈니스 로직 애플리케이션의 로직 컴포넌트는 비즈니스 로직을 담당합니다. 이들은 도메인 또는 기능별로 의미 있게 조직되며, 컨트롤러와 어댑터 사이의 오케스트레이션 계층 역할을 합니다.
목적
로직 컴포넌트:
비즈니스 규칙과 도메인 로직을 구현합니다
여러 어댑터에 걸친 작업을 조율합니다
복잡한 워크플로를 캡슐화합니다
전송 계층(HTTP, WebSocket) 관련 사항과 독립적으로 유지됩니다
I/O 의존성 없이 철저하게 단위 테스트할 수 있습니다
위치
로직 컴포넌트는 다음 아래에 배치해야 합니다: src/logic 또는 src/components 도메인별로 구성된 디렉터리입니다:
src/
└── logic/
├── users/
├── content/
├── permissions/
└── notifications/특성
1. 어댑터 사용
로직 컴포넌트는 어댑터의 주요 사용 주체입니다. 비즈니스 규칙에 집중하면서 외부 리소스와 상호작용하기 위해 어댑터를 사용합니다.
2. 비즈니스 규칙
로직 컴포넌트는 비즈니스 규칙과 검증을 강제합니다:
3. 워크플로 조율
로직 컴포넌트는 복잡한 다단계 작업을 조율합니다:
모범 사례
1. 단일 책임
각 로직 컴포넌트는 하나의 도메인 또는 바운디드 컨텍스트에 집중해야 합니다:
2. 의존성 주입
항상 components 매개변수를 통해 의존성을 주입하세요:
3. 오류 처리
컨트롤러가 잡아 처리할 수 있는 의미 있는 도메인 오류를 발생시키세요:
4. 순수 비즈니스 로직
로직 컴포넌트가 전송 계층 관련 사항에서 자유롭도록 유지하세요:
로직 컴포넌트 테스트
로직 컴포넌트는 철저히 단위 테스트해야 합니다. 다음을 참조하세요: 서비스 테스트 (WKC) 자세한 내용은 문서를 참조하세요.
곧 공개
이 섹션에는 다음이 추가될 예정입니다:
도메인 주도 로직 컴포넌트의 자세한 예시
복잡한 워크플로 처리 패턴
대규모 도메인 로직을 구성하는 지침
이벤트 시스템과의 통합
캐싱 전략
트랜잭션 관리 패턴
마지막 업데이트