[Spring] 헥사고날 아키텍처

• 헥사고날 아키텍처를 처음 적용할 때는 복잡하고 어려워 보였지만, 두 번째 설계에서는 도메인 내부에 비즈니스 로직을 넣는 중요성을 깨닫고, 서비스 로직이 간결해지며 테스트 작성이 쉬워졌다는 점을 경험했다.
• 세 번째 설계에서는 헥사고날 아키텍처의 근본적인 이유와 장점을 더 깊이 이해하게 되었고, 특히 외부 변경에 대한 자유로움, MSA에서의 활용성, 테스트 작성의 용이성 등을 명확히 인식하게 되었다.
• 도메인 객체는 외부 의존성을 배제한 순수한 자바 객체(POJO)로 선언되어야 하며, 비즈니스 로직을 처리하는 역할을 한다. 반면, 엔티티는 데이터베이스와의 상호작용을 담당하는 객체로, CRUD 작업을 수행한다.
• 서비스는 도메인 객체와 외부 의존성 간의 상호작용을 조정하고 조합하는 역할을 하며, 비즈니스 로직은 도메인 객체에서 처리된다. 서비스 메서드는 주로 변환 작업과 데이터 저장, 조회를 담당한다.

북마크
공유하기
신고하기