回答
您可以關注maven的standard project layout。您不必實際使用maven,但它將使轉換更容易(如有必要)。此外,其他開發商將習慣於看到的佈局,因爲許多開源項目奠定了這種方式,
有一些現有的資源,你可以檢查:
- Properly Package Your Java Classes
- Spring 2.5 Architecture
- Java Tutorial - Naming a Package
- SUN Naming Conventions
對於它的價值,我傾向於使用的我自己的個人指南如下:
- 從反向域開始,例如, 「com.mycompany」。
- 使用產品名稱,例如「myProduct的」。在某些情況下,我傾向於使用不屬於特定產品的普通包裝。這些將最終根據這些通用類別的功能進行分類,例如, 「io」,「util」,「ui」等。
- 之後它變得更自由形式。通常我根據項目,功能區域,部署等進行分組。例如,我可能會有「project1」,「project2」,「ui」,「client」等。
其他幾點:
- 在我從事設計文檔的包名工作的項目中很常見。通常產品已經分成功能區或功能區。
- 不要過分強調將常用功能推入更高級的包中。等待那裏需要跨項目,產品等,然後重構。
- 觀察軟件包間依賴關係。它們並不全是壞的,但它可能意味着可能是單獨的單元之間的緊密耦合。有些工具可以幫助您跟蹤這一點。
在反向域名的情況下(「com.mycompany」),除了「mycompany」子包外,「com」包通常是空的嗎? – Josephus 2016-02-10 21:16:14
的方式,我通常有我的文件夾 -
- 項目名稱
- SRC
- 斌
- 測試層次
- 庫
- 文檔
我建議按功能創建你的包結構,而不是實現層。一個很好的寫在這是Java practices: Package by feature, not layer
謝謝。這正是我想要將我的想法傳達給團隊 – Pranalee 2013-12-13 07:12:01
Here你可以閱讀有關標準目錄佈局和java項目的目錄/包結構。
有關Java包結構的另一個很好的文章:Managing the Java classpath
我通常喜歡有以下幾種:
- 斌(二進制)
- 文檔(文檔)
- INF(信息)
- lib(庫)
- res(資源)
- SRC(來源)
- TST(測試)
這些可視爲不符合常規,但我覺得這是組織的事情非常好的方式。
- 1. 的JUnit - Java項目結構
- 2. Android項目包結構
- 3. Go App Engine項目的包裝結構
- 4. Java包結構
- 5. Java EE項目的體系結構
- 6. eclipse中的Java項目層次結構
- 7. Java EE的Eclipse項目結構
- 8. 動態web項目包結構
- 9. 將軟件包添加到Java項目結構中
- 10. 使用Maven發佈Java項目的TFS項目結構
- 11. Java Web項目結構最佳實踐
- 12. MVC項目結構驗證類(java)
- 13. Java EE i18n和默認項目結構
- 14. 包的Laravel4目錄結構
- 15. 包含包和腳本的Python項目的正確結構?
- 16. Subversion項目結構?
- 17. Django項目結構,
- 18. Maven項目結構
- 19. CUDA項目結構
- 20. Android項目結構
- 21. Knockout.js項目結構
- 22. NUnit項目結構
- 23. AngularJS項目結構
- 24. GWT項目結構
- 25. Django,項目結構
- 26. Github項目結構
- 27. CodeIgniter項目結構
- 28. Flex項目結構
- 29. PHP項目結構
- 30. GIT項目結構
如果您有選擇,我也推薦使用Maven的佈局。這是一個深思熟慮的結構,經過了戰鬥測試,並且很多開發人員都很熟悉。 – 2008-10-17 04:46:54
您可以使用此鏈接創建目錄佈局:mkdir -p src/{main/{java,resources,filters,assembly,config,webapp},test/{java,resources,filters},site} – 2010-02-19 13:41:52
Maven的標準項目佈局是醜陋的......:/ – 2016-09-09 21:06:44