j2EE學習之mvc設計模式和mvc框架的區別
看了百度百科之後,額MVC到底是個神魔東西啊,是設計模式還是框架,值得探究一下
框架和設計模式的區別
有很多程式設計師往往把框架模式和設計模式混淆,認為MVC是一種設計模式。實際上它們完全是不同的概念。 [7]
框架、設計模式這兩個概念總容易被混淆,其實它們之間還是有區別的。框架通常是程式碼重用,而設計模式是設計重用,架構則介於兩者之間,部分程式碼重用,部分設計重用,有時分析也可重用。在軟體生產中有三種級別的重用:內部重用,即在同一應用中能公共使用的抽象塊;程式碼重用,即將通用模組組合成庫或工具集,以便在多個應用和領域都能使用;應用框架的重用,即為專用領域提供通用的或現成的基礎結構,以獲得最高級別的重用性。
框架與設計模式雖然相似,但卻有著根本的不同。設計模式是對在某種環境中反覆出現的問題以及解決該問題的方案的描述,它比框架更抽象;框架可以用程式碼表示,也能直接執行或複用,而對模式而言只有例項才能用程式碼表示;設計模式是比框架更小的元素,一個框架中往往含有一個或多個設計模式,框架總是針對某一特定應用領域,但同一模式卻可適用於各種應用。可以說,框架是軟體,而設計模式是軟體的知識。
框架模式有哪些?
框架有哪些?
C++語言的QT、MFC、gtk,Java語言的SSH 、SSI,php語言的 smarty(MVC模式),python語言的django(MTV模式)等等
設計模式有哪些?
工廠模式、介面卡模式、策略模式等等
簡而言之:框架是大智慧,用來對軟體設計進行分工;設計模式是小技巧,對具體問題提出解決方案,以提高程式碼複用率,降低耦合度。
設計模式 類庫 框架 架構 類庫和設計模式的關係就很簡單了,類庫的實現過程中是直接應用了各種設計模式的。因此按照從小到大的順序我們排列一下標題提到的這四個名詞 。就是 : 設計模式 類庫 框架 架構。 如果從作用來講是個三角形或者V字形的順序 ,文字描述為 類庫會用到設計模式 ,框架會用到類庫。架構會用到框架。架構定了。開始做專案的時候還會編寫類。還會用到設計模式 最後再延伸一點,我認為這四個詞是站在編碼角度在論述的,另一個角度就是專案的角度,同樣也有幾個詞,從小到大依次是。方法。過程,工程,管理。 簡單說一下這四個詞背後所代表的概念。 方法 例如TDD,BDD,MDD,DDD ,OOP/OOA,AOP等等
過程,如Scrum,敏捷開發,極限開發瀑布
工程 需求,設計,編碼,測試,維護
管理。例如生命週期,里程碑 跟蹤,報表,成本核算,績效考核等等