보통 레이어에 따라

controller
service
domain
mapper

등으로 패키지 구조를 잡았는데, 프로젝트가 커지다보면 각 피쳐 별로 클래스가 산재되어있어 유지보수가 어려워 어떤 것이 Best Practice인지 찾아보게 되었다.

from : https://stackoverflow.com/questions/3226282/are-there-best-practices-for-java-package-organization

One package per module/feature, possibly with sub-packages. Put closely related things together in the same package. Avoid circular dependencies between packages.

  1. 피쳐/모듈 별로 패키지를 나눈다.
  2. 각 피쳐/모듈 패키지는 서브 패키지를 가질 수 있다.
  3. 각 패키지별 순환 참조가 생기지 않도록 한다.

이렇게 관리하면 연관된 클래스가 가까이 있어 유지보수가 쉬워지지 않을까 생각한다.

레이어별, 피쳐별 각각 장단점이 있겠지만, 프로젝트 구조가 커지면 피쳐별로 관리하고, 그 안에서 레이어를 나누는게 낮지 않을까하는 생각

'개발' 카테고리의 다른 글

[Vue.js] masonry layout 플러그인  (0) 2020.07.17
[Vue.js] 템플릿에서 상수 접근하기  (0) 2020.07.15
Java 리팩토링하면서 느낀 것들  (0) 2020.06.25

+ Recent posts