国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

J2EE開發(fā)框架發(fā)展簡史

2019-11-18 15:41:09
字體:
供稿:網(wǎng)友

  java2企業(yè)版為中間件領(lǐng)域思想的統(tǒng)一上發(fā)揮了很大的作用。比如,J2EE為分布式事務(wù)治理、目錄服務(wù)和消息服務(wù)提供了一套標(biāo)準(zhǔn)的編程接口。J2EE的基礎(chǔ)——Java2標(biāo)準(zhǔn)版(J2SE) ,成功地為Java提供了一套訪問關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)。

  但是,就像本文中“J2EE缺乏對編程的支持”提到的一樣,J2EE這個平臺沒有能夠提供一個令人滿足的應(yīng)用程序編程模型(application PRogramming model)。Sun公司和一些大的應(yīng)用服務(wù)器供給商都想用開發(fā)工具來降低J2EE開發(fā)的復(fù)雜性,但是這些工具沒有其他的JAVA 開發(fā)工具優(yōu)秀,后者有先進(jìn)的重構(gòu)工具,和.NET平臺相比,J2EE的工具支持顯得很遜色。

  很多J2EE開發(fā)工具自動產(chǎn)生的代碼像這些工具本身同樣復(fù)雜。在開源社區(qū)很多小型J2EE開發(fā)者選擇了另外一種開發(fā)方式—— 一些可以降低J2EE開發(fā)難度的開發(fā)框架,較為流行的比如: Struts, Hibernate, 和 Spring Framework,他們當(dāng)今很多J2EE項(xiàng)目種扮演著重要角色。

  為什么要采用框架?

  框架是一由一些類組成,正式這些類為應(yīng)用程序提供了一個可重用的設(shè)計――或者我們經(jīng)常提到的——應(yīng)用程序種的一層。應(yīng)用程序代碼訪問類庫從而執(zhí)行任務(wù),而框架是調(diào)用應(yīng)用程序代碼,從而治理程序的流程。這就是經(jīng)常說道的好萊塢原則:“不要試圖聯(lián)系我們,我們到時候自會通知你。”開發(fā)者寫的程序在運(yùn)行時由框架調(diào)用。

  設(shè)計一個在各種未知背景下都可以使用的框架是很有挑戰(zhàn)性的。框架很適合在復(fù)雜的J2EE開發(fā)中使用,它可以為開發(fā)者提供一個簡單易用的模型。采用一個經(jīng)過良好設(shè)計的開源框架有很多好處:

  ·在好的框架下,開發(fā)者只需要寫一些必須的代碼;他們不需要直接接觸底層的API。 這一點(diǎn)很重要。

  ·經(jīng)過良好設(shè)計的框架可以為程序提供清楚的結(jié)構(gòu)并且提高程序的內(nèi)聚性。好清楚的結(jié)構(gòu)使得其他人可以更輕易加入項(xiàng)目。

  ·一個輕易使用的框架可以通過一些例子和文檔為用戶提供最佳實(shí)踐。

  ·采用成功的框架的代碼比自己的代碼輕易測試

  ·框架只有提供了一些值得使用的功能才會變得流行。J2EE工程只有真正需要框架的時候才會用它,而自己的框架并不是這樣,后者是處于統(tǒng)治地位的。

  J2EE本身也提供了一些框架。比如, Enterprise Java-Beans (EJB) container或者 Servlet engine,二者都運(yùn)用了“ 采用了好萊塢原則”這個思想,并采用運(yùn)行時調(diào)用來治理對象。像Struts這些開源web應(yīng)用框架正式建立在這兩個框架的基礎(chǔ)上的,本文討論的重點(diǎn)也是像Struts這樣建立在J2EE上的框架,他們?yōu)殚_發(fā)者提供了更為簡單的模型,和其他的一些好處。

  開源框架的出現(xiàn)

  很多大型的J2EE項(xiàng)目都用自己的內(nèi)部框架來隱藏平臺的復(fù)雜性,直到最近人們才逐漸發(fā)現(xiàn)一些在很多項(xiàng)目中都存在的共有的難題,這些難題都可以由一個較為統(tǒng)一的解決方案來解決。而有的框架正好可以充當(dāng)這些問題的解決方案。現(xiàn)在有種很明顯的趨勢:與從前的內(nèi)部框架相比,這些框架將成為這些難題的更加“標(biāo)準(zhǔn)化 ”的解決方案。

  J2EE平臺的日益成熟是這些框架流行的一個原因。開發(fā)者知道有些地方是J2EE的標(biāo)準(zhǔn)API無能為力的,倚他們的經(jīng)驗(yàn)來看,要彌補(bǔ)這個缺陷是很困難的。于此同時,一些優(yōu)秀的開源框架可供使用,它們提供了極為豐富的技術(shù)文檔,在它們背后還有一個專業(yè)的團(tuán)隊(duì)做支持,并且一切都是免費(fèi)的。

  Struts,在web應(yīng)用程序產(chǎn)生時就有的開源框架。在1999-2000年,開發(fā)者們意識到jsp“Model1”的缺陷,JSP中充斥著請求處理代碼和靜態(tài)數(shù)據(jù)模板,這意味著你不得不把業(yè)務(wù)邏輯和復(fù)雜的Html以及其他的標(biāo)簽混到一起。那個時候還沒有標(biāo)準(zhǔn)的框架和J2EE的標(biāo)準(zhǔn)支持,要解決這個問題開發(fā)者就得自己實(shí)現(xiàn)前端控制器,這樣可以把業(yè)務(wù)邏輯分離到j(luò)ava類中,從而可以減輕對JSP的維護(hù)難度。前端控制器模式經(jīng)常運(yùn)用在MVC架構(gòu)中,MVC模式在OO語言的GUI開發(fā)中經(jīng)常使用(這個名字總是讓人誤解,WEB MVC中的視圖是從模型中“拉”數(shù)據(jù);而在經(jīng)典MVC中,模型把事件“推向”視圖)。

  最初的前端控制器實(shí)現(xiàn)質(zhì)量參差不齊。2001~2002年間,Apache開源組織發(fā)布的Struts改變了這個狀況,雖然它并非一個完美的框架,但已經(jīng)足夠使其成為該領(lǐng)域事實(shí)上的標(biāo)準(zhǔn)。

  Struts向人們展示了開源框架的一些優(yōu)點(diǎn),比如,新手可以很輕易地熟悉它的結(jié)構(gòu)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 股票| 阿城市| 南郑县| 汨罗市| 金平| 绵阳市| 河东区| 嘉鱼县| 安远县| 巴青县| 武威市| 普定县| 沂南县| 娄底市| 丹阳市| 图木舒克市| 原平市| 宝鸡市| 含山县| 万荣县| 奉化市| 黎川县| 彝良县| 赤城县| 武功县| 壶关县| 启东市| 双流县| 钟祥市| 武穴市| 临城县| 稷山县| 安化县| 会泽县| 保康县| 黎平县| 北安市| 姜堰市| 盱眙县| 台安县| 贵港市|