jee web_您基于JEE的Web项目的结构是什么?
jee web
在這篇文章中,我將嘗試討論基于Web的項(xiàng)目的各種組織結(jié)構(gòu),主要是使用JSF。 開(kāi)始新項(xiàng)目時(shí),首先想到的是如何組織Java包? 想象一下,您開(kāi)發(fā)了一個(gè)基于Web的用戶和組管理系統(tǒng)。 很長(zhǎng)時(shí)間以來(lái),我使用了以下Java包結(jié)構(gòu),該結(jié)構(gòu)將Bean類(lèi)與模型類(lèi)分開(kāi)(模型類(lèi)有時(shí)稱(chēng)為視圖助手)。
我認(rèn)為這是一個(gè)不錯(cuò)的布局,但是如果您有大型項(xiàng)目,這還不夠好。 為什么? 盡管某些Bean和模型類(lèi)屬于同一類(lèi),但它們彼此之間的距離很遠(yuǎn)。 您必須在Bean和模型包之間導(dǎo)航并滾動(dòng)IDE。 這會(huì)占用一些時(shí)間。 多年來(lái),我意識(shí)到根據(jù)邏輯/語(yǔ)義含義對(duì)類(lèi)進(jìn)行分組可能會(huì)更好。 這就是說(shuō),模型包和類(lèi)與它們所屬的bean位于同一高級(jí)包中。 常用的bean和模型類(lèi)可以放在一個(gè)額外的包中,例如common。
但請(qǐng)注意這里。 一些開(kāi)發(fā)人員更喜歡炸毀bean的數(shù)量。 如果嚴(yán)格遵循MVC模式,則需要支持bean,控制器bean和視圖接口bean。 支持bean負(fù)責(zé)組件,值綁定和事件委托。 他們將業(yè)務(wù)邏輯的執(zhí)行委托給控制器bean。 控制器Bean與基礎(chǔ)后端系統(tǒng)進(jìn)行通信。 對(duì)概念的這種精細(xì)調(diào)整的分離提高了小型軟件的可測(cè)試性,但是它導(dǎo)致了很多類(lèi),并且在某些情況下會(huì)使項(xiàng)目的結(jié)構(gòu)復(fù)雜化。
網(wǎng)頁(yè)是什么? 這里或多或少有兩種相同的方法。 第一個(gè)遵循本文中介紹的方法。 有三個(gè)主要文件夾:模板,視圖和部分。 模板是在(幾乎)每個(gè)頁(yè)面上使用的facelets模板。 視圖是整頁(yè)。 它們綁定到瀏覽器中的URL。 視圖使用模板。 部分是頁(yè)面上的小塊。 視圖包含各節(jié)(請(qǐng)考慮ui:include)。 結(jié)構(gòu)如下:
您還可以在此處看到一個(gè)共享文件夾,其中包含一些常用的東西。 用戶和組的頁(yè)面包含一個(gè)公共部分dialogs.xhtml。 它位于/ sections / shared / usergroups下面。 正如我的負(fù)責(zé)人所說(shuō),我意識(shí)到,將頁(yè)面和部分組合在一起時(shí),將它們分組是一種更好的方法。 因此,下一個(gè)結(jié)構(gòu)具有兩個(gè)主要的文件夾頁(yè)面和模板。 節(jié)與包含它們的頁(yè)面位于相同的上級(jí)文件夾中的包含之下。
現(xiàn)在,在IDE導(dǎo)航方面,該分組看起來(lái)更加高效。 同樣清楚的是哪些部分屬于同一部分。 在上一張圖片中,您還可以看到文件夾usergroups包含子文件夾用戶,組,并且在用戶/組管理的上下文中,common包含在不同頁(yè)面上共享的文件夾。
您首選的結(jié)構(gòu)是什么? 分享你的意見(jiàn)。 歡迎任何反饋。
翻譯自: https://www.javacodegeeks.com/2013/11/what-is-your-structure-of-jee-based-web-projects.html
jee web
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的jee web_您基于JEE的Web项目的结构是什么?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 举例子是什么意思(有什么作用和特点)
- 下一篇: 日期使用