J2EE與設(shè)計(jì)模式
J2EE屬于一種框架軟件。什么是框架軟件?它不同于以前接觸的Java API等,那些API屬于Toolkit(工具箱)。而J2EE不再被動(dòng)地被使用、被調(diào)用,而是深刻地介入到一個(gè)領(lǐng)域中去。J2EE設(shè)計(jì)的目的是將企業(yè)計(jì)算應(yīng)用領(lǐng)域中不變的東西先定義好,比如整體結(jié)構(gòu)和一些主要職責(zé)(如數(shù)據(jù)庫(kù)操作、事務(wù)跟蹤和安全等),剩余的就是變化的東西,即針對(duì)這個(gè)領(lǐng)域中具體應(yīng)用所產(chǎn)生的不同的變化需求,而這些變化的東西就是J2EE程序員所要做的。因此,設(shè)計(jì)模式和J2EE在思想和動(dòng)機(jī)上是一脈相承的。只不過(guò)設(shè)計(jì)模式更抽象,幾乎可以用于任何應(yīng)用;J2EE則是適合企業(yè)計(jì)算應(yīng)用的框架軟件,而設(shè)計(jì)模式是它的重要的理論基礎(chǔ)之一。
與此同時(shí),在J2EE的框架下,一些應(yīng)用級(jí)的設(shè)計(jì)模式也逐步積累了起來(lái),關(guān)于設(shè)計(jì)模式在J2EE中的應(yīng)用已成為許多論壇討論的熱點(diǎn)之一。其中,J2EE Web應(yīng)用的架構(gòu)設(shè)計(jì)引起了高度的關(guān)注。J2EE體系包括JSP、Servlet、EJB、Web服務(wù)等多項(xiàng)技術(shù)。這些技術(shù)的出現(xiàn)給電子商務(wù)時(shí)代的Web應(yīng)用開發(fā)提供了一個(gè)非常有競(jìng)爭(zhēng)力的選擇。怎樣把這些技術(shù)組合起來(lái),形成一個(gè)適應(yīng)項(xiàng)目需要的穩(wěn)定架構(gòu)是項(xiàng)目開發(fā)過(guò)程中非常重要的步驟。此步驟一般由架構(gòu)設(shè)計(jì)師完成,設(shè)計(jì)師根據(jù)項(xiàng)目需求,對(duì)J2EE體系中的各種技術(shù)進(jìn)行篩選取舍,并考慮到開發(fā)過(guò)程中的角色分工、后期的運(yùn)行維護(hù),以及系統(tǒng)擴(kuò)展性等諸多因素建立系統(tǒng)的架構(gòu)。一個(gè)成功的軟件需要有一個(gè)成功的架構(gòu),但軟件架構(gòu)的建立是一個(gè)復(fù)雜而又持續(xù)改進(jìn)的過(guò)程,軟件開發(fā)者們不可能對(duì)每個(gè)不同的項(xiàng)目做不同的架構(gòu),而總是盡量重用以前的架構(gòu),或開發(fā)出盡量通用的架構(gòu)方案。
在當(dāng)前的J2EE Web應(yīng)用中,Apache Struts是最流行的架構(gòu)方案之一。它實(shí)現(xiàn)了MVC模式的概念,并將這些概念映射到Web應(yīng)用程序的構(gòu)件和概念中。Struts這個(gè)名字來(lái)源于在建筑和舊式飛機(jī)中使用的支持金屬架,其目的是幫助開發(fā)人員減少在運(yùn)用MVC設(shè)計(jì)模型開發(fā)Web應(yīng)用的時(shí)間。
Apache Struts有以下的優(yōu)點(diǎn):一些開發(fā)商開始采用并推廣這個(gè)框架;作為開源項(xiàng)目,有很多先進(jìn)的實(shí)現(xiàn)思想;對(duì)大型應(yīng)用支持的較好;有集中的網(wǎng)頁(yè)導(dǎo)航定義。Apache Struts正在獲得越來(lái)越多的關(guān)注與支持。
J2ME與設(shè)計(jì)模式
J2ME標(biāo)準(zhǔn)為消費(fèi)類產(chǎn)品(例如移動(dòng)電話、雙向傳呼機(jī)和無(wú)線個(gè)人信息管理器)的應(yīng)用開發(fā)提供支持。這一類產(chǎn)品的特點(diǎn)是,顯示能力和存儲(chǔ)能力有限,計(jì)算能力和網(wǎng)絡(luò)訪問(wèn)能力不夠強(qiáng)大。因此,J2ME設(shè)計(jì)模式就有了它所獨(dú)特的問(wèn)題領(lǐng)域。比如,如果需要顯示比較大的數(shù)據(jù)集合,那么應(yīng)該采取什么樣的解決方案,才能適應(yīng)狹小的顯示區(qū)域?又比如,如果需要實(shí)現(xiàn)類似桌面軟件的選單選擇的功能,那么應(yīng)該如何設(shè)計(jì)才能夠足夠簡(jiǎn)練和便于重用?J2ME的設(shè)計(jì)模式正在逐步的積累過(guò)程中,我們相信隨著J2ME的推廣J2ME設(shè)計(jì)模式的討論也將逐步成為一大關(guān)注熱點(diǎn)。
Java與設(shè)計(jì)模式的結(jié)合,為Java的發(fā)展帶來(lái)了更大的活力,也為設(shè)計(jì)模式提供了一個(gè)寬闊的舞臺(tái)。在這些技術(shù)的共同推動(dòng)下,軟件產(chǎn)業(yè)將以堅(jiān)實(shí)的步伐走進(jìn)工業(yè)化時(shí)代。
相關(guān)推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |