Others
프로젝트 패키지 구조
은크
2024. 2. 20. 10:55
프로젝트 패키지 구조
- 도메인 분리 구조
- 장점
- 독립적으로 모듈화 되어 있는 도메인은 각 도메인에서 발생하는 변경 사항에 대한 영향을 최소화 하며 이는 시스템을 확장하고 유지 보수하기 쉽게 한다.
- 모듈화 (마이크로 서비스 아키텍처) 전환 시 도메인 별로 분리 작업이 용이하다.
- 단점
- 작은 규모의 프로젝트에서는 도메인 분리가 오히려 복잡성을 증가시킬 수 있다.
- 서로 다른 도메인에서 비슷한 기능이 필요한 경우 중복 코드의 가능성이 있다.
- 장점
- 계층 분리 구조
- 장점
- 프로젝트에 대한 이해도가 낮아도 계층 별로 분리 된 패키지 구조만 보고 어느정도 구조 파악이 가능하다.
- 각 계층 간 코드 재사용 가능하며, 중복 코드를 최소화하고 일관성을 유지할 수 있다.
- 단점
- 계층 구조 아래 여러 도메인이 섞여 있어 특정 도메인 흐름 파악이 어렵다.
- 도메인이 많아지면 계층 별 패키지 안에 너무 많은 클래스가 생겨 구분이 어렵다.
- 장점
계층형 구조가 필요한 경우
- 프로젝트 규모가 작고 도메인이 많지 않은 경우
- 도메인간 분리가 명확하지 않을 경우
- 각 도메인을 모듈화(마이크로 서비스 아키텍처)하여 분리할 일이 없는 경우
도메인형 구조가 필요한 경우
- 프로젝트 규모가 크고, 도메인이 많은 경우
- 도메인간 분리가 명확한 경우
- 각 도메인을 모듈화(마이크로 서비스 아키텍처) 하여 분리할 일이 있는 경우
상황에 따라 알맞게 사용하면 될 것으로 보인다.