본문 바로가기

HEXAGONAL2

헥사고날 아키텍처 구조, 사용이유 및 부가정보 이번에 진행 중인 DDD+헥사고날 프로젝트를 하며 아래 서적을 읽었다.- 만들면서 배우는 헥사고날 아키텍처 설계와 구현 책에 정의된 헥사고날 아키텍처의 구조 및 사용이유에 대해 정리해두면 추후 요긴하게 사용할 것 같아, 해당 문서에 기술해둔다. 헥사고날 아키텍처비즈니스 코드를 기술 코드로부터 분리기술 측면이 비즈니스 측면에 의존하는지도 확인하여, 비즈니스 측면이 비즈니스 목표를 달성하는 데 사용되는 기술에 대한 우려 없이도 발전할 수 있게 함관련된 비즈니스 코드에 피해를 주지않고도 기술 코드를 변경할 수 있게 함⇒ 이를 위해 도메인 헥사곤을 생성 (엔티티 + 값 객체) ⇒ 엔티티 >> 식별자를 할당할 수 있는 것을 의미 ⇒ 값 객체 >> 엔티티들을 합성하기 위해 사용하는 불변 컴포넌트  도메인 헥사곤실 .. 2024. 11. 20.
헥사고날 아키텍처 개념 및 사용법 헥사고날 아키텍처란? 주요 목표 응용 프로그램의 비즈니스 로직을 외부 세계로부터(Infra) 격리시켜 유연하고 테스트하기 쉬운 구조를 만드는 것 ⇒ 이를 위해 핵심 비즈니스 로직은 중앙의 도메인 영역에 위치하며, 입력과 출력을 처리하는 포트와 어뎁터를 통해 외부와(Infra) 소통 장점 유연성 외부 시스템이나 인프라와의 의존성을 낮춰, 구성 요소를 쉽게 교체하거나 업데이트 할 수 있음 테스트 용이성 비즈니스 로직을 독립적으로 테스트할 수 있어, 품질 향상과 개발 속도 향상에 도움이 됨 유지보수성 책임이 분리되어 있어, 코드의 이해와 수정이 용이하며 변화에 빠르게 대응가능 나오게 된 배경 레이어드 아키텍처의 단점을 해결하기 위해, 의존성의 역전법칙을 필두로 나오게 되었음 - 레이어드 아키텍처 구조도 의존성.. 2023. 5. 5.