Developer Sang Guy

프로젝트 패키지 구조 본문

Others

프로젝트 패키지 구조

은크 2024. 2. 20. 10:55

프로젝트 패키지 구조

  • 도메인 분리 구조
    • 장점
      • 독립적으로 모듈화 되어 있는 도메인은 각 도메인에서 발생하는 변경 사항에 대한 영향을 최소화 하며 이는 시스템을 확장하고 유지 보수하기 쉽게 한다.
      • 모듈화 (마이크로 서비스 아키텍처) 전환 시 도메인 별로 분리 작업이 용이하다.
         
    • 단점
      • 작은 규모의 프로젝트에서는 도메인 분리가 오히려 복잡성을 증가시킬 수 있다.
      • 서로 다른 도메인에서 비슷한 기능이 필요한 경우 중복 코드의 가능성이 있다.

  • 계층 분리 구조
    • 장점
      • 프로젝트에 대한 이해도가 낮아도 계층 별로 분리 된 패키지 구조만 보고 어느정도 구조 파악이 가능하다.
      • 각 계층 간 코드 재사용 가능하며, 중복 코드를 최소화하고 일관성을 유지할 수 있다.
    • 단점
      • 계층 구조 아래 여러 도메인이 섞여 있어 특정 도메인 흐름 파악이 어렵다.
      • 도메인이 많아지면 계층 별 패키지 안에 너무 많은 클래스가 생겨 구분이 어렵다.

 

계층형 구조가 필요한 경우

  • 프로젝트 규모가 작고 도메인이 많지 않은 경우
  • 도메인간 분리가 명확하지 않을 경우
  • 각 도메인을 모듈화(마이크로 서비스 아키텍처)하여 분리할 일이 없는 경우

 

도메인형 구조가 필요한 경우

  • 프로젝트 규모가 크고, 도메인이 많은 경우
  • 도메인간 분리가 명확한 경우
  • 각 도메인을 모듈화(마이크로 서비스 아키텍처) 하여 분리할 일이 있는 경우

 

상황에 따라 알맞게 사용하면 될 것으로 보인다.

Comments