헥사고날(2)
-
헥사고날 아키텍처 회고 (2)
https://rasony.tistory.com/190 헥사고날 아키텍처 회고EATceed 프로젝트에서 헥사고날 아키텍처를 사용해보며, 고민해본 점을 서술해보려고 합니다.먼저, 헥사고날 아키텍처를 도입한 이유입니다. 헥사고날 아키텍처를 도입한 이유 계층형 아키텍처rasony.tistory.com 프로젝트를 진행하며, 외부 서비스를 이용해야하는 기능들이 점점 더 생기기 시작하였습니다. 구체적으로, AWS의 S3와 SES 서비스를 이용하고, 데이터베이스로는 MariaDB와 Redis를 사용하게 되었습니다.또한, 특정한 트리거로 인한 스케줄링 기능을 사용하기 위해 Quatz를 도입하였습니다. 이에 아래와 같은 패키지가 추가되었습니다. 현재 패키지 구조는 도메인기반으로 패키지 구조를 나누고 있었습니다.하지만,..
2024.07.28 -
헥사고날 아키텍처 회고 (1)
EATceed 프로젝트에서 헥사고날 아키텍처를 사용해보며, 고민해본 점을 서술해보려고 합니다.먼저, 헥사고날 아키텍처를 도입한 이유입니다. 헥사고날 아키텍처를 도입한 이유 계층형 아키텍처는 데이터베이스 주도 설계를 유도 계층형 아키텍처는 엔티티를 비즈니스 모델처럼 사용해 도메인 로직뿐만아니라, 즉시 로딩/ 지연 로딩 트랜잭션 등등 영속성 관련 작업을 한 번에 처리하여 관심사의 분리가 제대로 되지 않았습니다.따라서, 이번 프로젝트의 핵심 도메인은 "식사"관련 도메인들은 엔티티에 비즈니스 로직을 넣지 않고, 영속성과 도메인을 명확히 분리하여, 도메인 주도 설계를 하고자 하였습니다.이렇게 함으로써 스키마에 변경이 생겼을 때 이것이 도메인 로직에 영향을 받지 않아 프로젝트를 진행하며 스키마 변경이 비교적 수월하..
2024.02.12