반응형
Java 프로젝트의 패키지 구조?
Java Web 어플리케이션에서 패키지 구조를 셋업하기 위한 베스트 프랙티스는 무엇입니까?
src, 유닛 테스트 코드 등을 어떻게 설정하시겠습니까?
메이븐의 표준 프로젝트 레이아웃을 따를 수 있습니다.실제로 maven을 사용할 필요는 없지만 향후 (필요한 경우) 이행이 쉬워집니다.게다가 많은 오픈 소스 프로젝트가 이러한 방식으로 배치되어 있기 때문에 다른 개발자들은 이러한 레이아웃을 보는 데 익숙해질 것입니다.
확인할 수 있는 기존 리소스가 몇 가지 있습니다.
참고로, 제가 자주 사용하는 개인 가이드라인은 다음과 같습니다.
- 역도메인(예: "com.mycompany")부터 시작합니다.
- 제품 이름(예: "my product")을 사용합니다.경우에 따라서는 특정 제품에 속하지 않는 공통 패키지를 가지고 있는 경우가 있습니다.이들은 공통 클래스(예: "io", "util", "ui" 등)의 기능에 따라 분류됩니다.
- 그 후에는 더 자유로워집니다.보통 프로젝트, 기능 영역, 배치 등에 따라 그룹화합니다.예를 들어 "project1", "project2", "ui", "client" 등이 있을 수 있습니다.
기타 몇 가지 포인트:
- 패키지 이름이 설계 문서에서 나오는 것은 제가 작업한 프로젝트에서는 자주 있는 일입니다.통상, 제품은 기능이나 목적의 분야로 이미 분리되어 있습니다.
- 일반적인 기능을 더 높은 패키지에 바로 넣는 것에 대해 너무 강조하지 마십시오.프로젝트, 제품 등에 걸쳐 요구가 있을 때까지 기다렸다가 리팩터링합니다.
- 패키지간의 의존관계를 확인합니다.모두 나쁜 것은 아니지만, 다른 유닛과의 긴밀한 결합을 의미할 수 있습니다.이를 추적하는 데 도움이 되는 도구가 있습니다.
구현 계층이 아닌 기능별로 패키지 구조를 작성하는 것이 좋습니다.Java 프랙티스는 다음과 같습니다. 레이어가 아닌 기능별 패키지
The way I usually organise is
- src
- main
- java
- groovy
- resources
- test
- java
- groovy
- lib
- build
- test
- reports
- classes
- doc
저는 보통 다음을 원합니다.
- bin(바이너리)
- 문서(문서)
- 정보(정보)
- lib(라이브러리)
- 자원(리소스)
- src(소스)
- tst(테스트)
이것은 관례에 얽매이지 않는 것으로 여겨질지도 모르지만, 저는 이것이 일을 정리하는 매우 좋은 방법이라고 생각합니다.
내 폴더 계층구조는...
- 프로젝트명
- src
- 휴지통
- 테스트
- 립스
- 문서
또 다른 방법은 API, 서비스 및 엔티티를 다른 패키지로 분리하는 것입니다.
언급URL : https://stackoverflow.com/questions/210567/package-structure-for-a-java-project
반응형
'it-source' 카테고리의 다른 글
"198.1994.Out Of Memory Error : 새 네이티브 스레드를 만들 수 없습니다." (0) | 2022.10.20 |
---|---|
PHP에서 실시간 출력으로 프로세스 실행 (0) | 2022.10.20 |
JavaScript에서의 MD5 구현 속도 향상 (0) | 2022.10.20 |
Java에서 UUID의 최상위 비트를 사용한 충돌 가능성 (0) | 2022.10.20 |
인터페이스를 구현하는 Java 클래스 찾기 (0) | 2022.10.20 |