아키텍처 패턴 선택

상태

승인

후보군

방안설명
Hexagonal + Rich Domain Modelpresentation → application → domain ← infrastructure 레이어. 판정·전이는 Entity에 캡슐화
레이어드 아키텍처 + Anemic ModelService 클래스에 로직 집중, Entity는 getter/setter만 보유

결정

presentation → application → domain ← infrastructure 레이어 구조를 채택한다. 도달 판정·상태 전이는 PriceAlert Entity에 캡슐화하고, UseCase는 DomainService만 호출한다. Gateway/Repository interface는 domain에 정의하며 OutputPort 패턴은 사용하지 않는다.

결정 이유

  • 도달 판정·상태 전이 등 비즈니스 규칙이 흩어지면 유지보수가 어렵다.
  • Rich Domain Model로 Entity에 캡슐화하면 레이어별 단위 테스트가 단순해진다.
  • OutputPort 미사용으로 불필요한 보일러플레이트를 줄인다.

검토 대안

방안기각 이유
레이어드 아키텍처 + Anemic Model비즈니스 규칙이 Service에 집중되어 테스트·유지보수 어려움

트레이드 오프

  • 득: 레이어별 테스트 분리 용이, 비즈니스 규칙 Entity 캡슐화, 의존 방향 명확
  • 실: 초기 클래스 수 증가로 보일러플레이트 상대적 증가