# 결제 아키텍처 결정 기록 (ADR) ## Context 결제 처리 시스템의 아키텍처를 정의하기 위한 선택과 이유에 대한 문서이다. 시스템의 다양한 패키지 간의 경계와 의존성을 명확히 하고, 외부 결제 게이트웨이에 대한 접근 방식도 정의한다. ## Decision 1. 외부 결제 게이트웨이는 포트 인터페이스 뒤에 두며, 도메인 레이어는 애드패터를 직접 참조하지 않는다. 2. 결제 시스템은 도메인 주도 설계를 따르며, 결제 관련 책임을 도메인 모델로 전이한다. ## Alternatives - 결제 게이트웨이를 도메인에서 직접 참조하는 접근 방식을 고려했으나, 이는 도메인과 외부 시스템 간의 결합도를 높여 유지보수성을 저하시킬 수 있다. - 다른 아키텍처 패턴인 CRUD API 패턴을 고려했으나, 비즈니스 로직의 복잡성을 처리하기 적합하지 않다. ## Consequences - 결제 시스템의 유연성과 확장성이 향상되며, 외부 시스템과의 결합이 줄어들어 재사용성과 유지보수성이 증가한다.