Posts 멀티 모듈 구성
Post
Cancel

멀티 모듈 구성

프로젝트를 멀티 모듈로 구성하는것은 아래와 같은 이점들을 챙길 수 있다.

  • 1)계층간 의존성에 대한 제약을 두어 올바른 소프트웨어 아키텍처를 유지하기 위해(ex. api -> domain -> dao 식으로 단방향으로만 유지시키기 위해)
    • => 관심사의 분리를 통해 단방향으로만 의존하게함으로써 변경으로 인한 영향을 최소화시킬 수 있음
  • 2)모듈간의 적절한 격리를 통해 추후 변경을 용이하게 만들기 위해 (ex. db 를 JPA 를 통해 접근하다 비즈니스 관점에서의 필요성에 의해 MyBatis 로 바꾸는등)
  • 3)재사용성을 높이기 위해 (ex. 로깅, 인증과 같은것들을 별도 모듈로 분리하여 다른 여러 모듈에 꽂아서 쓸수 있도록)

단, 이를 어떻게 구성하는냐는 팀 내부에서 원만한 소통과 협의가 필요하며 이에 따라 달라질 수 있다. 적절한 trade-off를 고려하여 팀과 제품 상황에 맞는 최적의 멀티 모듈 구조를 가져가는게 중요하다.

실제 멀티 모듈 구성 관련해서는 아래 레퍼런스들을 참고하면 도움된다.

Reference

This post is licensed under CC BY 4.0 by the author.

유용한 MSA 시스템 아키텍처 레퍼런스 모음

지속 성장 가능한 코드를 만들어 가는 방법