當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]1.什么是模式?模式,即pattern。其實(shí)就是解決某一類(lèi)問(wèn)題的方法論。你把解決某類(lèi)問(wèn)題的方法總結(jié)歸納到理論高度,那就是模式。 Alexander給出的經(jīng)典定義是:每個(gè)模式都描述了一個(gè)在我們的環(huán)境中不斷出現(xiàn)的問(wèn)題,然后

1.什么是模式?

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

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

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

什么是框架?

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

2.為什么要用模式?

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

為什么要用框架?

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

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

軟件為什么要分層?

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

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

常見(jiàn)的設(shè)計(jì)模式有什么?

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

還有其他的很多模式,估計(jì)有100多種。

軟件設(shè)計(jì)模式太多,就我的理解簡(jiǎn)單說(shuō)一下最常見(jiàn)的MVC模式。

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

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

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

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

另外:

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

4.常見(jiàn)的JAVA框架有什么?

WAF:

全稱(chēng):WEB APPLICATION FRAMEWORK

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

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

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

Struts:

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

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

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

簡(jiǎn)述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等

簡(jiǎn)述:這是APACHE的開(kāi)源項(xiàng)目?;赟ERVLET。據(jù)說(shuō)速度比較快,基于service(pluggable implementation可插拔的執(zhí)行組件)的方式提供各種服務(wù)。

COCOON:

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

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

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

ECHO:

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

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

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

JATO:

全稱(chēng):SUN ONE Application Framework

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

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

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

TCF:

全稱(chēng):Thin-Client Framework

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

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





來(lái)源:ks990次

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉