成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳細(xì)介紹java中模式和框架的區(qū)別

開發(fā) 后端
本文介紹的是java中模式和框架的區(qū)別,適合初學(xué)者閱讀,希望對你有幫助。

對于剛剛接觸java的同學(xué)們,對于模式框架總是混淆。下面詳細(xì)介紹模式和框架的區(qū)別。

1.什么是模式?

模式,即pattern。其實(shí)就是解決某一類問題的方法論。你把解決某類問題的方法總結(jié)歸納到理論高度,那就是模式。

Alexander給出的經(jīng)典定義是:每個模式都描述了一個在我們的環(huán)境中不斷出現(xiàn)的問題,然后描述了該問題的解決方案的核心。通過這種方式,你可以無數(shù)次地使用那些已有的解決方案,無需在重復(fù)相同的工作。

模式有不同的領(lǐng)域,建筑領(lǐng)域有建筑模式,軟件設(shè)計領(lǐng)域也有設(shè)計模式。當(dāng)一個領(lǐng)域逐漸成熟的時候,自然會出現(xiàn)很多模式。

什么是框架?

框架,即framework。其實(shí)就是某種應(yīng)用的半成品,就是一組組件,供你選用完成你自己的系統(tǒng)。簡單說就是使用別人搭好的舞臺,你來做表演。而且,框架一般是成熟的,不斷升級的軟件。

2.為什么要用模式?

因?yàn)槟J绞且环N指導(dǎo),在一個良好的指導(dǎo)下,有助于你完成任務(wù),有助于你作出一個優(yōu)良的設(shè)計方案,達(dá)到事半功倍的效果。而且會得到解決問題的***辦法。

為什么要用框架?

因?yàn)檐浖到y(tǒng)發(fā)展到今天已經(jīng)很復(fù)雜了,特別是服務(wù)器端軟件,設(shè)計到的知識,內(nèi)容,問題太多。在某些方面使用別人成熟的框架,就相當(dāng)于讓別人幫你完成一些基礎(chǔ)工作,你只需要集中精力完成系統(tǒng)的業(yè)務(wù)邏輯設(shè)計。而且框架一般是成熟,穩(wěn)健的,他可以處理系統(tǒng)很多細(xì)節(jié)問題,比如,事物處理,安全性,數(shù)據(jù)流控制等問題。還有框架一般都經(jīng)過很多人使用,所以結(jié)構(gòu)很好,所以擴(kuò)展性也很好,而且它是不斷升級的,你可以直接享受別人升級代碼帶來的好處。

框架一般處在低層應(yīng)用平臺(如J2EE)和高層業(yè)務(wù)邏輯之間的中間層。

軟件為什么要分層?

為了實(shí)現(xiàn)“高內(nèi)聚、低耦合”。把問題劃分開來各個解決,易于控制,易于延展,易于分配資源…總之好處很多啦:)。

3.以下所述主要是JAVA,J2EE方面的模式和框架:

常見的設(shè)計模式有什么?

首先,你要了解的是GOF的《設(shè)計模式--可復(fù)用面向?qū)ο筌浖幕A(chǔ)》一書(這個可以說是程序員必備的了),注意:GOF不是一個人,而是指四個人。它的原意是Gangs Of Four,就是“四人幫”,就是指此書的四個作者:Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides。這本書講了23種主要的模式,包括:抽象工廠、適配器、外觀模式等。

還有其他的很多模式,估計有100多種。

軟件設(shè)計模式太多,就我的理解簡單說一下最常見的MVC模式。

MVC模式是1996年由Buschmann提出的:

模型(Model):就是封裝數(shù)據(jù)和所有基于對這些數(shù)據(jù)的操作。

視圖(View):就是封裝的是對數(shù)據(jù)顯示,即用戶界面。

控制器(Control):就是封裝外界作用于模型的操作和對數(shù)據(jù)流向的控制等。

另外:

RUP(Rational Unified Process)軟件統(tǒng)一過程,XP(Extreme Programming)極端編程,這些通常被叫做“過程方法”,是一種軟件項(xiàng)目實(shí)施過程的方法論,它是針對軟件項(xiàng)目的實(shí)施過程提出的方法策略。也是另一個角度的模式。

4.常見的JAVA框架有什么?

WAF:

全稱:WEB APPLICATION FRAMEWORK

主要應(yīng)用方面:EJB層,(WEB層也有,但是比較弱)。

 

主要應(yīng)用技術(shù):EJB等

出處:http://java.sun.com/blueprints/code/index.html

簡述:這是SUN在展示J2EE平臺時所用的例子PetStore(寵物商店系統(tǒng))里面的框架。是SUN藍(lán)皮書例子程序中提出的應(yīng)用框架。它實(shí)現(xiàn)了 MVC和其他良好的設(shè)計模式。SUN的網(wǎng)站上有技術(shù)資料,***下載PetStore來研究,WEBLOGIC里自帶此系統(tǒng),源碼在bea/weblogic700/samples/server/src/petstore。這是學(xué)習(xí)了解J2EE的***框架。

Struts:

主要應(yīng)用方面:WEB層。

主要應(yīng)用技術(shù):JSP,TagLib,JavaBean,XML等

出處:http://jakarta.apache.org/struts/index.html

簡述:這是APACHE的開源項(xiàng)目,目前應(yīng)用很廣泛。基于MVC模式,結(jié)構(gòu)很好,基于JSP。Jbuilder8里已經(jīng)集成了STRUTS1.02的制作。

簡述WAF+STRUTS結(jié)合的例子:WEB層用STRUTS,EJB層用WAF:

JSP(TagLib)——>ActionForm——>Action ——> Event——>EJBAction——>EJB  ——>DAO——>Database JSP(TagLib) (forward) <——Action <——EventResponse<——

Turbine:

主要應(yīng)用方面:WEB層。

主要應(yīng)用技術(shù):servlet等

出處:http://jakarta.apache.org/turbine/index.html

簡述:這是APACHE的開源項(xiàng)目。基于SERVLET。據(jù)說速度比較快,基于service(pluggable implementation可插拔的執(zhí)行組件)的方式提供各種服務(wù)。

COCOON:

主要應(yīng)用方面:WEB層。

主要應(yīng)用技術(shù):XML,XSP,servlet等

出處:http://cocoon.apache.org/2.0/

簡述:這是APACHE的一個開源項(xiàng)目。基于XML,基于XSP(通俗地說,XSP是在XML靜態(tài)文檔中加入Java程序段后形成的動態(tài)XML文檔。)。特點(diǎn)是可以與多種數(shù)據(jù)源交互,包括文件系統(tǒng),數(shù)據(jù)庫,LDAP,XML資源庫,網(wǎng)絡(luò)數(shù)據(jù)源等。

ECHO:

主要應(yīng)用方面:WEB層。

主要應(yīng)用技術(shù):servlet  

出處:http://www.nextapp.com/products/echo/

簡述:nextapp公司的一個開源項(xiàng)目。基于SERVLET。頁面可以做的很漂亮,結(jié)合echopoint,可以作出很多圖形效果(里面用了jfreechart包)。使用SWING的思想來作網(wǎng)頁,把HTML當(dāng)作JAVA的類來做。但是大量使用Session,頁面分幀(Frame)很多,系統(tǒng)資源消耗很大。

JATO:

全稱:SUN ONE Application Framework

主要應(yīng)用方面:WEB層。

 

技術(shù):JSP,TagLib,JavaBean等

出處:http://www.sun.com/

簡述:這是SUN推出的一個商業(yè)性框架,一看名字就知道是結(jié)合SUN ONE的平臺推出的。我下載了JATO2.0看了一下,感覺有些簡單,使用了JSP+TagLib+JavaBean。如他的DOC所說JATO是適合用在小的WEB應(yīng)用里。

TCF:

全稱:Thin-Client Framework

主要應(yīng)用方面:JAVA GUI。

主要應(yīng)用技術(shù):JAVA application等

希望通過以上關(guān)于模式和框架的內(nèi)容介紹,能夠給你帶來幫助。

責(zé)任編輯:于鐵 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-07-11 11:02:12

JAVA集合框架

2011-06-21 15:00:07

JAVAC++

2011-07-08 16:24:53

VOPO

2011-07-22 16:50:05

JAVA

2023-11-02 08:10:13

框架Spring程序事件

2009-06-19 14:49:43

Spring框架

2011-07-22 17:06:22

java

2011-07-11 15:02:54

枚舉

2011-07-21 15:44:33

Java內(nèi)部類

2011-07-05 17:29:56

2009-08-03 18:49:17

C#和Java

2009-06-14 21:31:29

Java抽象類Java接口

2009-06-16 11:30:00

Java抽象類Java接口

2011-12-22 10:48:21

Java

2010-03-18 15:47:07

Java創(chuàng)建線程

2011-06-08 15:45:41

字符串JAVA

2011-05-19 18:01:56

JAVA

2011-07-04 10:32:37

JAVA

2009-12-15 18:39:36

Ruby Active

2011-06-21 14:25:44

JavaScriptcookie
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 天天干视频网 | 欧美精品一区二区免费 | 中文在线一区二区 | 精品国产精品 | 日韩精品一区二区三区中文字幕 | 成年人在线 | 欧美一区视频 | 国产一区二区三区久久久久久久久 | 男人天堂久久久 | 毛色毛片免费看 | 国产精品国产成人国产三级 | 99精品视频免费在线观看 | 一区二区三区视频在线观看 | 精品成人在线 | 免费激情网站 | 亚洲成a人片 | 午夜欧美一区二区三区在线播放 | 91久久精品日日躁夜夜躁国产 | 911网站大全在线观看 | 国产九九九九 | 亚洲a视频 | 国产伦精品一区二区三区视频金莲 | 国产亚洲精品久久午夜玫瑰园 | 亚洲黄色av | 国产一区二区三区四 | 色综合99 | 国产电影一区 | 日本三级全黄三级a | 999热在线视频 | 国产一区二区三区四区 | 91免费观看视频 | 四虎网站在线观看 | 古装人性做爰av网站 | 亚洲男人天堂 | 日韩精品在线视频免费观看 | 国产精品视频一二三区 | 91色网站| 国产a视频 | 黄色欧美视频 | 欧美成人一级视频 | 一区二区av |