在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在Java編程中模式和框架有什么區(qū)別

電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2018-10-09 09:38 ? 次閱讀

1.什么是模式?

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

Alexander給出的經(jīng)典定義是:每個(gè)模式都描述了一個(gè)在我們的環(huán)境中不斷出現(xiàn)的問題,然后描述了該問題的解決方案的核心。通過這種方式,你可以無(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ì)得到解決問題的最佳辦法。

為什么要用框架?

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

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

軟件為什么要分層?

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

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

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

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

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

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

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

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

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

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

另外:

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

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

WAF:

全稱:WEB APPLICATION FRAMEWORK

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

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

簡(jiǎn)述:這是SUN在展示J2EE平臺(tái)時(shí)所用的例子PetStore(寵物商店系統(tǒng))里面的框架。是SUN藍(lán)皮書例子程序中提出的應(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的開源項(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——>DatabaseJSP(TagLib) (forward) <——Action <——EventResponse<——

Turbine:

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

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

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

COCOON:

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

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

簡(jiǎn)述:這是APACHE的一個(gè)開源項(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è)開源項(xiàng)目。基于SERVLET。頁(yè)面可以做的很漂亮,結(jié)合echopoint,可以作出很多圖形效果(里面用了jfreechart包)。使用SWING的思想來(lái)作網(wǎng)頁(yè),把HTML當(dāng)作JAVA的類來(lái)做。但是大量使用Session,頁(yè)面分幀(Frame)很多,系統(tǒng)資源消耗很大。

JATO:

全稱: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看了一下,感覺有些簡(jiǎn)單,使用了JSP+TagLib+JavaBean。如他的DOC所說(shuō)JATO是適合用在小的WEB應(yīng)用里。

TCF:

全稱:Thin-Client Framework

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    13

    文章

    9728

    瀏覽量

    87439
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2987

    瀏覽量

    107248
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3686

    瀏覽量

    94958
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    DLPvideo模式與pattern模式什么區(qū)別

    你好,請(qǐng)問,DLP相關(guān)文檔,有提到video模式與 pattern模式,請(qǐng)問這兩種模式什么區(qū)別
    發(fā)表于 03-03 08:32

    lwip netconn與socket 編程什么區(qū)別

    請(qǐng)問lwip netconn與socket 編程什么區(qū)別socket 編程例如:/* 發(fā)送數(shù)據(jù)到sock連接 */ if(send(sock,send_data,strlen(se
    發(fā)表于 11-26 09:17

    this的使用場(chǎng)景及與C,Java的this的區(qū)別

    【JS】this有哪些使用場(chǎng)景?跟C,Java的this有什么區(qū)別?如何改變this的值?
    發(fā)表于 03-11 10:17

    RK平臺(tái)PHY驅(qū)動(dòng)與NXP的整體框架有哪些區(qū)別

    RK平臺(tái)PHY驅(qū)動(dòng)與NXP的整體框架有哪些區(qū)別呢?
    發(fā)表于 02-10 06:04

    DevEco Studio里的java UI框架有沒有必要做拖拽式編程呢?

      DevEco Studio已經(jīng)支持js UI框架拖拽式編程,你覺得java UI框架有沒有必要做拖拽式編程呢?
    發(fā)表于 05-18 15:32

    java單元測(cè)試框架有哪些

    如果你才剛開始接觸Java世界,那么要做的第一件事情是,安裝JDK——Java Development Kit(Java開發(fā)工具包),它自帶有Java Runtime Environm
    發(fā)表于 12-20 18:15 ?1.4w次閱讀
    <b class='flag-5'>java</b>單元測(cè)試<b class='flag-5'>框架有</b>哪些

    Java編程和c語(yǔ)言哪一種更有優(yōu)勢(shì)_C語(yǔ)言與JAVA區(qū)別是什么

    軟件開發(fā)編程語(yǔ)言多達(dá)600余種,每種都有各自的特點(diǎn)和應(yīng)用領(lǐng)域。目前,國(guó)內(nèi),最熱的幾門編程語(yǔ)言無(wú)外乎Java、C、C++了,Java和C同為
    的頭像 發(fā)表于 02-05 17:23 ?2.5w次閱讀

    python爬蟲框架有哪些

    本視頻主要詳細(xì)介紹了python爬蟲框架有哪些,分別是Django、CherryPy、Web2py、TurboGears、Pylons、Grab、BeautifulSoup、Cola。
    的頭像 發(fā)表于 03-22 16:13 ?7012次閱讀

    如何區(qū)分Javaprint和println

    最開始學(xué)習(xí)Java的時(shí)候?qū)W到sout+enter鍵可以輸出結(jié)果,顯示的是System.out.println();而在Python是直接使用print。那么
    的頭像 發(fā)表于 02-21 15:10 ?1491次閱讀

    SSH和SSM框架有什么區(qū)別

    SSH框架是Struts+Spring+Hibernate而SSM是指的Spring-MVC+Spring+MyBatis,光從這兩個(gè)縮寫就可以看出來(lái),如果比較兩者的區(qū)別的話主要比較Struct和Spring-MVC以及Hibernate和MyBatis。
    的頭像 發(fā)表于 04-07 14:44 ?1777次閱讀

    深度學(xué)習(xí)框架是什么?深度學(xué)習(xí)框架有哪些?

    深度學(xué)習(xí)框架是什么?深度學(xué)習(xí)框架有哪些?? 深度學(xué)習(xí)框架是一種軟件工具,它可以幫助開發(fā)者輕松快速地構(gòu)建和訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)模型。與手動(dòng)編寫代碼相比,深度學(xué)習(xí)框架可以大大減少開發(fā)和調(diào)試的時(shí)
    的頭像 發(fā)表于 08-17 16:03 ?3392次閱讀

    javaweb和java什么區(qū)別

    Javaweb和Java是兩個(gè)不同的概念,它們之間存在明顯的區(qū)別。下面將詳細(xì)介紹這兩者的區(qū)別,以滿足你關(guān)于詳盡、詳實(shí)、細(xì)致的要求。 Java是一種廣泛應(yīng)用的
    的頭像 發(fā)表于 11-16 10:49 ?4227次閱讀

    javaweb的三大框架有哪些

    : Spring是目前最受歡迎和廣泛使用的Java應(yīng)用程序開發(fā)框架之一。它提供了一種輕量級(jí)的方式來(lái)構(gòu)建企業(yè)級(jí)應(yīng)用程序。Spring框架主要包括以下模塊: Spring核心模塊:提供了IoC(控制反轉(zhuǎn))和AOP(面向切面
    的頭像 發(fā)表于 12-03 11:47 ?2515次閱讀

    基于springboot和vue框架Java

    、引言 Java作為一門廣泛應(yīng)用的編程語(yǔ)言,它的開發(fā)框架也非常豐富。Spring Boot作為Java開發(fā)的一
    的頭像 發(fā)表于 12-03 15:15 ?1416次閱讀

    華納云:java web和java什么區(qū)別java web和java什么區(qū)別

    Java Web和Java是兩個(gè)不同的概念,它們功能、用途和實(shí)現(xiàn)方式上存在一些區(qū)別,下面將詳細(xì)介紹它們之間的區(qū)別。 1. 功能和用途: –
    的頭像 發(fā)表于 07-16 13:35 ?1397次閱讀
    華納云:<b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有<b class='flag-5'>什么區(qū)別</b><b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有<b class='flag-5'>什么區(qū)別</b>
    主站蜘蛛池模板: 久久精品亚洲精品国产欧美 | 久久网免费视频 | 亚洲精品国产自在久久出水 | 九九热视频免费在线观看 | 午夜一级毛片免费视频 | 天天色成人 | 精品视频日本 | 国产精品japanese人妖 | 亚洲人成网站色7799在线播放 | 日韩毛片网 | 丁香花在线观看免费观看 | 免费黄色大片视频 | 欧美视频一区二区三区在线观看 | 免费爱做网站在线看 | 久久99热精品免费观看无卡顿 | 成人午夜网址 | 91免费视频网 | 国产精品女人在线观看 | 欧美一二区视频 | 美女午夜 | 男人日女人视频免费看 | 人人人人凹人人爽人人澡 | 午夜激情婷婷 | 男人不识本网站上遍色站也枉然 | 四虎在线精品免费高清在线 | www.四虎在线| 国产精品vv在线 | 一级a性色生活片毛片 | 亚洲成a人片在线网站 | 夜夜骑夜夜操 | 一本大道香蕉大vr在线吗视频 | 色依依视频视频在线观看 | 国产在线麻豆自在拍91精品 | 日本久本草精品 | 一卡二卡卡四卡无人区中文 | 四虎影院的网址 | 亚洲欧洲精品成人久久曰影片 | 中文字幕一区二区三区四区五区人 | 国模欢欢大尺度 | 女同国产| 五月婷婷六月色 |