DDD에서 Usecase 패턴 활용하기

필자는 최근 팀 프로젝트를 진행하면서 Spring Boot를 활용한 WAS 구현을 담당하였다. WAS를 구현하면서 상위 Service와 하위 Service가 무분별하게 참조되면서 패키지 구조가 복잡해지는 것을 경험하고 있다. 이를 보다 명확하게 구분하고자 DDD와 Usecase를 이해하고 이를 프로젝트에 적용하고자 한다.


Spring Component Scan

이전 포스트에서 Spring Bean의 기본 개념에 대해 다루었다. 필자는 프로젝트를 경험하면서 Component Scan과 관련된 문제를 디버깅하며, Component Scan의 내부 동작 방식을 제대로 이해하지 못할 경우 많은 시간을 디버깅에 할애한 경험이 있다. 특히 프로젝트의 규모가 커질 수록 Spring Bean의 등록 순서 및 순환 참조 문제를 해결하기 위해서는 Component Scan의 동작 방식을 명확히 이해하는 것이 중요하다.


Spring Bean

Spring Framework를 사용하면서 가장 기본이 되는 개념이 바로 ‘Spring Bean’이다. 필자는 프로젝트를 진행하면서 Spring Bean에 대한 개념을 정확하게 이해하지 못하여 겪는 어려움을 자주 목격하였다. 특히 의존성 주입 과정에서 발생하는 Bean 충돌 문제들을 해결하는데 많은 시간을 소비하는 것을 보며, Spring Bean에 대한 체계적인 정리의 필요성을 느꼈다.


Conventional Commits와 Husky로 일관된 커밋 메시지 관리하기

프로젝트를 진행하면서 보다 일관된 커밋 메시지 설정을 통해 팀원 간 문맥 이해력 향상을 통한 커뮤니케이션 비용 감소를 위해 고민하던 중, 지난 프로젝트에서 설정한 Conventioanl Commit을 설정하는 것이 떠올랐고 이를 게시글로 작성하기로 하였다.


Pagination