一個好的、清晰的目錄結構可以友善日後的維護,可以幫助維護人員快速的定位到代碼檔案;
JavaEE的項目中(大多數都是web項目),有一些在業界中耳熟能詳的術語,比如:
dao(資料通路對象):持久層,主要負責與資料庫打交道,從模式的角度來說,dao中不應該有業務邏輯;
dto(資料傳輸對象):層間傳遞參數的對象;早期,方法的參數都是直接填寫的,如:void method(int i,int j);
這種直接填寫的參數有一些不友善之處,就是參數的順序要一一對應,兩三個參數倒是能應付,要是10個,8個的話,誰都得蒙圈;是以後來提出了DTO,一個基于javabean規範的對象,用于封裝參數。另外也可以考慮使用Map來封裝參數,但用Map封裝參數的話,需要明确key的定義;
service(BO) - 服務層,又叫業務層,我個人覺得業務層比較貼切;早期有一幫人把這一層成為BO(業務對象).
該層主要是放置業務邏輯的,涉及到的資料庫操作就調用dao。有些小型系統,我個人建議可以将這層去掉,直接将業務邏輯編寫在dao層中,少一層是一層啊;
controller(action) : 這貨是mvc中的‘c’,屬于web前端,位于view與service層之間。
ok,寫到這,與java相關的都介紹完了。下邊是一些與web相關的内容:
編寫web,主要包括:html,css,javascript,images等,還有就是jsp,或者模版檔案了;
有了上邊的内容,那麼建立一個合理清晰的項目目錄就不難了;
下邊是我推薦的一個目錄結構:
這是一個标準的eclipse工程;其中自定義的目錄有:
doc - 主要存放與該項目相關的文檔,比如er圖、用例文檔、設計文檔、使用者使用手冊等等。恺哥的建議是,盡量将項目相關的東西放在一起,一并加到版本控制庫進行管理,省着到時候張三一份,李四一份,都搞不清誰的是最新版本了,更有甚的是,費了九牛二虎之力寫的文檔最後找不到了。
src - 這是存放java以及配置檔案的主要目錄,其中有:
dao / dto / test
此處的包命名規則,我個人建議是這樣:
用dao包舉例:
dao的字首,是簽名;如:net.oschina.dao。其中net.oschina就是簽名字首;
dao的字尾,是子產品名稱;如:net.oschina.dao.blog。其中blog就是子產品名稱
對于dto下邊是否還需要按照子產品進行拆包,取決于系統的規模,如果規模很大,一個子產品就有很多dto的話,那還是建議與dao的子產品名稱規則一緻,比如:net.oschina.dto.blog
為什麼沒有service層?我個人的觀點是能少一層就少一層,越簡單越好,是以我提倡将業務邏輯與資料通路做到一起,這樣也友善維護代碼的時候,用ctrl跳來跳去。
test 目錄是存放一些測試檔案
web層的目錄結構:
标準的javaee規範要求,webapp必須有一個命名為WEB-INF的目錄,在該目錄之外的資源,使用者是可以通過浏覽器進行直接通路的,位于該目錄下的所有資源,使用者通過浏覽器是無法通路的,但内部servlet是可以進行調用的。是以很多mvc架構(如:springmvc)提倡,将jsp檔案放在WEB-INF目錄下進行保護,所有的jsp通路都通過servlet進行跳轉。
其實web層目錄結構沒啥好解釋的,已經一目了然了。
以上是根據我個人經驗寫的一邊小文章,歡迎交流、指正。希望對你能有一些幫助。
版權聲明:本文為CSDN部落客「weixin_34194087」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
原文連結:https://blog.csdn.net/weixin_34194087/article/details/91680886