摘要: 今天看了一天原來(lái)他們寫的代碼,越看越郁悶,主要是沒有設(shè)計(jì)文檔,而且里面很多被舍棄的功能,但是代碼沒有去掉,而且也沒有寫注釋,不知道干什么用的,也許是我太菜了吧?簡(jiǎn)單分析一下這個(gè)模塊的代碼吧模塊名稱叫“信息簡(jiǎn)報(bào) ”,功能包括五個(gè)部分:信息接受,信息發(fā)送,分類管理,組管理,權(quán)限配置。其中用戶部分會(huì)用到公共模塊,日志部分就是直接使用System.out.pring通過(guò)JBOSS輸出...
閱讀全文
摘要: 今天老大給了我一個(gè)任務(wù),要我一個(gè)星期之內(nèi)看懂一個(gè)模塊的代碼。打開第一個(gè)類就遇到了JDBC,數(shù)據(jù)庫(kù)還是Oracle,2個(gè)都不懂,只好先學(xué)習(xí)一下JDBC這個(gè)東西JDBCTM 是一種用于執(zhí)行 SQL 語(yǔ)句的 JavaTM API(有意思的是,JDBC 本身是個(gè)商標(biāo)名而不是一個(gè)縮寫字;然而,JDBC常被認(rèn)為是代表 “Java ...
閱讀全文
從今天開始,我準(zhǔn)備把GOF的23種設(shè)計(jì)模式重新學(xué)習(xí)一下,并且用Java語(yǔ)言全部描述一次。
Abstract Factory(抽象工廠) 對(duì)象創(chuàng)建型模式
提供一個(gè)創(chuàng)建一系列相關(guān)或相互依賴對(duì)象的接口,而無(wú)需指定它們具體的類。
今天把Structs和EJB稍微了解了一下。
Structs是apache 組織jakarta 項(xiàng)目的一個(gè)子項(xiàng)目,用以改善 web 系統(tǒng)的結(jié)構(gòu),是一個(gè)基于J2EE的Web形式MVC模式實(shí)現(xiàn)。Structs是由一組類、Servlet和Taglib組成。Structs有其自己的控制器(Controller),基本組件是ActionServlet中定義的Servlet,由ActionMapping定義的,ActionMapping類表示的是Action對(duì)象的名字和位置。當(dāng)一個(gè)請(qǐng)求進(jìn)入控制器時(shí),它將請(qǐng)求的路徑映射到Action的位置,并且將請(qǐng)求傳送給Action。Structs另外一個(gè)重要部分是標(biāo)簽(TagLib),主要由頁(yè)面制作人員使用。
EJB(Enterprise JavaBean ) 是設(shè)計(jì)成運(yùn)行在服務(wù)器上,并由客戶機(jī)調(diào)用的非可視遠(yuǎn)程對(duì)象。可通過(guò)多個(gè)非可視 JavaBean 構(gòu)建 EJB。它們有一個(gè)部署描述符,其目的與 JavaBean 屬性相同:它是以后可由工具讀取的 bean 的描述。EJB 還獨(dú)立于平臺(tái),一旦編寫好,還可以在任何支持 Java 的平臺(tái)(包括客戶機(jī)和服務(wù)器)上使用。
習(xí)歷程/j2ee.png)
如果不使用EJB,在EJB服務(wù)層實(shí)現(xiàn)的業(yè)務(wù)核心將由普通JavaBeans實(shí)現(xiàn),不能很好的保證負(fù)責(zé)MVC的JavaBeans和負(fù)責(zé)業(yè)務(wù)核心的JavaBeans清晰地分開。
采用EJB,Web完全只是一個(gè)MVC模式的實(shí)現(xiàn),關(guān)鍵業(yè)務(wù)核心是在EJB的服務(wù)層實(shí)現(xiàn),這樣做的優(yōu)點(diǎn)是,Web只負(fù)責(zé)界面相關(guān)部分,因?yàn)椋绻且粋€(gè)智能客戶端,如Swing或J2ME,在不需要修改任何業(yè)務(wù)核心的情況下能夠方便地更換。同樣,提供Web Services功能,也只是在 Web層修改,不會(huì)涉及EJB方面的修改,同樣保證了系統(tǒng)的穩(wěn)定性,保證了系統(tǒng)升級(jí)和未來(lái)的擴(kuò)展性。
EJB容器(如JBoss)已經(jīng)提供了對(duì)象池和緩存機(jī)制,所以,沒有事務(wù)機(jī)制的無(wú)狀態(tài)Session Bean的性能肯定要強(qiáng)于普通JavaBeans。EJB容器不但在單機(jī)中提供了對(duì)象池和緩存,而且可以跨服務(wù)器實(shí)現(xiàn)動(dòng)態(tài)負(fù)載平衡,這些都無(wú)需開發(fā)者自己開發(fā)任何軟件代碼。
EJB提供的事務(wù)機(jī)制非常周全,但事務(wù)機(jī)制帶來(lái)的缺點(diǎn)是性能的降低,在一般企業(yè)應(yīng)用或數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)用中,EJB不會(huì)對(duì)你構(gòu)成很重的包袱。
通過(guò)一天的學(xué)習(xí),雖然沒有寫出Structs和EJB的實(shí)現(xiàn)代碼,但是基本上對(duì)這兩個(gè)東西有了初步的了解