보통 레이어에 따라
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.
- 피쳐/모듈 별로 패키지를 나눈다.
- 각 피쳐/모듈 패키지는 서브 패키지를 가질 수 있다.
- 각 패키지별 순환 참조가 생기지 않도록 한다.
이렇게 관리하면 연관된 클래스가 가까이 있어 유지보수가 쉬워지지 않을까 생각한다.
레이어별, 피쳐별 각각 장단점이 있겠지만, 프로젝트 구조가 커지면 피쳐별로 관리하고, 그 안에서 레이어를 나누는게 낮지 않을까하는 생각
'개발' 카테고리의 다른 글
[Vue.js] masonry layout 플러그인 (0) | 2020.07.17 |
---|---|
[Vue.js] 템플릿에서 상수 접근하기 (0) | 2020.07.15 |
Java 리팩토링하면서 느낀 것들 (0) | 2020.06.25 |