黑武士的領地
          ——黑武士是反微軟的JAVA陣營的流氓JAVA程序員
          posts - 26,comments - 4,trackbacks - 0

            模型-視圖-控制器(MVC)是80年代Smalltalk-80出現的一種軟件設計模式,現在已經被廣泛的使用。

            1、模型(Model)

            模型是應用程序的主體部分。模型表示業務數據,或者業務邏輯.

            2、視圖(View)

            視圖是應用程序中用戶界面相關的部分,是用戶看到并與之交互的界面。

            3、控制器(controller)

            控制器工作就是根據用戶的輸入,控制用戶界面數據顯示和更新model對象狀態。



            MVC 式的出現不僅實現了功能模塊和顯示模塊的分離,同時它還提高了應用系統的可維護性、可擴展性、可移植性和組件的可復用性

            早期的程序中,如果不注意對數功能和顯示的解耦合,常常會導致程序的復雜及難以維護。很多VB,Delphi等RAD程序都有這種問題。甚至現在的C#,Java有時候也會出現把業務邏輯寫在顯示模塊中的現象

            管MVC設計模式很早就提出,但在Web項目的開發中引入MVC卻是步履維艱。主要原因:一是在早期的Web項目的開發中,程序語言和HTML的分離一直難以實現。CGI程序以字符串輸出的形式動態地生成HTML內容。后來隨著腳本語言的出現,前面的方式又被倒了過來,改成將腳本語言書寫的程序嵌入在HTML內容中。這兩種方式有一個相同的不足之處即它們總是無法將程序語言和HTML分離。二是腳本語言的功能相對較弱,缺乏支持MVC設計模式的一些必要的技術基礎。直到基于J2EE的JSP Model 2問世時才得以改觀。它用JSP技術實現視圖的功能,用Servlet技術實現控制器的功能,用JavaBean技術實現模型的功能

            JSP Model 1 與 JSP Model 2

            SUN在JSP出現早期制定了兩種規范,稱為Model1和Model2。雖然Model2在一定程度上實現了MVC,但是它的應用用并不盡如人意


            JSP Model 1


            JSP Model 2

            model2 容易使系統出現多個Controller,并且對頁面導航的處理比較復雜

            有些人覺得model2仍不夠好,于是Craig R. McClanahan 2000年5月 提交了一個WEB framework給Java Community.這就是后來的Struts.

            2001年7月,Struts1.0,正式發布。該項目也成為了Apache Jakarta的子項目之一

            Struts 質上就是在Model2的基礎上實現的一個MVC架構。它只有一個中心控制器,他采用XML定制轉向的URL。采用Action來處理邏輯

          posted on 2005-08-01 08:29 黑武士 閱讀(136) 評論(0)  編輯  收藏 所屬分類: JAVA技術
          主站蜘蛛池模板: 集安市| 乐昌市| 双桥区| 溧阳市| 来凤县| 乐业县| 淄博市| 宜城市| 梅河口市| 蓬溪县| 山东| 瑞安市| 南乐县| 阿城市| 攀枝花市| 遵义市| 临泉县| 盖州市| 霸州市| 彭阳县| 楚雄市| 乐平市| 西青区| 当阳市| 海城市| 白玉县| 清远市| 塔河县| 临漳县| 栖霞市| 桃园市| 铁岭市| 上杭县| 陇西县| 巴里| 济宁市| 宾川县| 花莲市| 台东市| 区。| 屏东县|