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

首頁 > 開發(fā) > 綜合 > 正文

名詞解析:什么是模式? 什么是框架?

2024-07-21 02:14:29
字體:
供稿:網(wǎng)友

1.什么是模式?

模式,即pattern。其實就是解決某一類問題的方法論。你把解決某類問題的方法總結(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。其實就是某種應(yīng)用的半成品,就是一組組件,供你選用完成你自己的系統(tǒng)。簡單說就是使用別人搭好的舞臺,你來做表演。而且,框架一般是成熟的,不斷升級的軟件。

2.為什么要用模式?

因為模式是一種指導(dǎo),在一個良好的指導(dǎo)下,有助于你完成任務(wù),有助于你作出一個優(yōu)良的設(shè)計方案,達到事半功倍的效果。而且會得到解決問題的最佳辦法。

為什么要用框架?

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

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

軟件為什么要分層?

為了實現(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)極端編程,這些通常被叫做“過程方法”,是一種軟件項目實施過程的方法論,它是針對軟件項目的實施過程提出的方法策略。也是另一個角度的模式。

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藍皮書例子程序中提出的應(yīng)用框架。它實現(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的開源項目,目前應(yīng)用很廣泛?;趍vc模式,結(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的開源項目。基于servlet。據(jù)說速度比較快,基于service(pluggable implementation可插拔的執(zhí)行組件)的方式提供各種服務(wù)。

cocoon:

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

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

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

簡述:這是apache的一個開源項目。基于xml,基于xsp(通俗地說,xsp是在xml靜態(tài)文檔中加入java程序段后形成的動態(tài)xml文檔。)。特點是可以與多種數(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公司的一個開源項目。基于servlet。頁面可以做的很漂亮,結(jié)合echopoint,可以作出很多圖形效果(里面用了jfreechart包)。使用swing的思想來作網(wǎng)頁,把html當(dāng)作java的類來做。但是大量使用session,頁面分幀(frame)很多,系統(tǒng)資源消耗很大。

jato:

全稱:sun one application framework

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

主要應(yīng)用技術(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等

出處:http://www.alphaworks.ibm.com/tech/tcf

簡述:這是ibm出的一個框架。基于mvc模式,基于java application。推薦一篇介紹文章:http://www-900.ibm.com/developerworks/cn/java/j-tcf1/index.shtml

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 西畴县| 巴南区| 绥江县| 合阳县| 阿合奇县| 澄迈县| 辽中县| 渝中区| 贞丰县| 河源市| 水富县| 本溪市| 章丘市| 玉溪市| 蚌埠市| 滕州市| 那坡县| 巴马| 固安县| 观塘区| 黑龙江省| 闽清县| 徐汇区| 东明县| 定陶县| 遂昌县| 克东县| 万宁市| 伊金霍洛旗| 自贡市| 霍邱县| 华亭县| 遂川县| 桑植县| 高邑县| 通山县| 沂水县| 稻城县| 敦煌市| 平山县| 扶沟县|