<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    kooyee ‘s blog

    開源軟件, 眾人努力的結晶, 全人類的共同財富
    posts - 103, comments - 55, trackbacks - 0, articles - 66
       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    什么是模式? 什么是框架?

    Posted on 2008-01-18 22:00 kooyee 閱讀(126) 評論(0)  編輯  收藏
    1.什么是模式?

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

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

    模式有不同的領域,建筑領域有建筑模式,軟件設計領域也有設計模式。當一個領域逐漸成熟的時候,自然會出現很多模式。

    什么是框架?

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

    2.為什么要用模式?

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

    為什么要用框架?

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

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

    軟件為什么要分層?

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

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

    常見的設計模式有什么?

    首先,你要了解的是GOF的《設計模式--可復用面向對象軟件的基礎》一書(這個可以說是程序員必備的了),注意:GOF不是一個人,而是指四個人。它的原意是Gangs Of Four,就是“四人幫”,就是指此書的四個作者:Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides。這本書講了23種主要的模式,包括:抽象工廠、適配器、外觀模式等。

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

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

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

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

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

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

    另外:

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

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

    WAF:

    全稱:WEB APPLICATION FRAMEWORK

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

    主要應用技術:EJB等

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

    簡述:這是SUN在展示J2EE平臺時所用的例子PetStore(寵物商店系統)里面的框架。是SUN藍皮書例子程序中提出的應用框架。它實現了 MVC和其他良好的設計模式。SUN的網站上有技術資料,最好下載PetStore來研究,WEBLOGIC里自帶此系統,源碼在bea/weblogic700/samples/server/src/petstore。這是學習了解J2EE的首選框架。

    Struts:

    主要應用方面:WEB層。

    主要應用技術:JSP,TagLib,JavaBean,XML等

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

    簡述:這是APACHE的開源項目,目前應用很廣泛。基于MVC模式,結構很好,基于JSP。Jbuilder8里已經集成了STRUTS1.02的制作。

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

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

    Turbine:

    主要應用方面:WEB層。

    主要應用技術:servlet等

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

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

    COCOON:

    主要應用方面:WEB層。

    主要應用技術:XML,XSP,servlet等

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

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

    ECHO:

    主要應用方面:WEB層。

    主要應用技術:servlet  

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

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

    JATO:

    全稱:SUN ONE Application Framework

    主要應用方面:WEB層。

    主要應用技術:JSP,TagLib,JavaBean等

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

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

    TCF:

    全稱:Thin-Client Framework

    主要應用方面:JAVA GUI。

    主要應用技術: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

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产亚洲色视频在线| 久久久亚洲欧洲日产国码aⅴ| 国产成人在线观看免费网站| 国产伦一区二区三区免费| 亚洲中文字幕久久精品无码APP| 亚洲成人在线免费观看| 四虎永久在线精品免费一区二区| 中文字幕手机在线免费看电影| 在线看免费观看AV深夜影院| 又大又硬又爽免费视频| 久久av无码专区亚洲av桃花岛| 一级毛片免费观看不卡视频| 免费a级黄色毛片| 四虎国产精品永免费| 久久久久久亚洲精品不卡| 久久久精品国产亚洲成人满18免费网站 | 亚洲国产成人精品91久久久| 中文字幕亚洲综合久久| 一级做α爱过程免费视频| 日韩激情淫片免费看| 亚洲另类春色校园小说| 最近中文字幕免费大全| 国产在线观看免费完整版中文版 | 日韩一级视频免费观看| 无码免费又爽又高潮喷水的视频| 亚洲国产成人a精品不卡在线| 中文无码成人免费视频在线观看| 免费永久国产在线视频| 免费在线黄色电影| 亚洲综合激情九月婷婷| 久久久久久国产精品免费免费男同| 亚洲美女精品视频| 国产又大又长又粗又硬的免费视频| 一出一进一爽一粗一大视频免费的| 亚洲国产精品一区第二页| 国产99视频精品免费视频76| 日本午夜免费福利视频| 成在线人免费无码高潮喷水| 亚洲国产精品无码久久久| 亚洲国产精品国产自在在线| 久久久免费精品re6|