課程
/后端開發(fā)
/PHP
/快速入門ThinkPHP框架—理論篇
MVC是設(shè)計模式??
2017-12-10
源自:快速入門ThinkPHP框架—理論篇 2-1
正在回答
有很多程序員往往把框架模式和設(shè)計模式混淆,認(rèn)為MVC是一種設(shè)計模式。實際上它們完全是不同的概念。
框架、設(shè)計模式這兩個概念總?cè)菀妆换煜鋵嵥鼈冎g還是有區(qū)別的??蚣芡ǔJ谴a重用,而設(shè)計模式是設(shè)計重用,架構(gòu)則介于兩者之間,部分代碼重用,部分設(shè)計重用,有時分析也可重用。在軟件生產(chǎn)中有三種級別的重用:內(nèi)部重用,即在同一應(yīng)用中能公共使用的抽象塊;代碼重用,即將通用模塊組合成庫或工具集,以便在多個應(yīng)用和領(lǐng)域都能使用;應(yīng)用框架的重用,即為專用領(lǐng)域提供通用的或現(xiàn)成的基礎(chǔ)結(jié)構(gòu),以獲得最高級別的重用性。
框架與設(shè)計模式雖然相似,但卻有著根本的不同。設(shè)計模式是對在某種環(huán)境中反復(fù)出現(xiàn)的問題以及解決該問題的方案的描述,它比框架更抽象;框架可以用代碼表示,也能直接執(zhí)行或復(fù)用,而對模式而言只有實例才能用代碼表示;設(shè)計模式是比框架更小的元素,一個框架中往往含有一個或多個設(shè)計模式,框架總是針對某一特定應(yīng)用領(lǐng)域,但同一模式卻可適用于各種應(yīng)用??梢哉f,框架是軟件,而設(shè)計模式是軟件的知識。
框架模式有哪些?
MVC、MTV、MVP、CBD、ORM等等;
框架有哪些?
C++語言的QT、MFC、gtk,Java語言的SSH 、SSI,php語言的 smarty(MVC模式),python語言的django(MTV模式)等等
設(shè)計模式有哪些?
工廠模式、適配器模式、策略模式等等
簡而言之:框架是大智慧,用來對軟件設(shè)計進(jìn)行分工;設(shè)計模式是小技巧,對具體問題提出解決方案,以提高代碼復(fù)用率,降低耦合度。
愛編程的男孩 提問者
舉報
快速入門ThinkPHP框架教程,掌握ThinkPHP的理論基礎(chǔ)
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2017-12-12
有很多程序員往往把框架模式和設(shè)計模式混淆,認(rèn)為MVC是一種設(shè)計模式。實際上它們完全是不同的概念。
框架、設(shè)計模式這兩個概念總?cè)菀妆换煜鋵嵥鼈冎g還是有區(qū)別的??蚣芡ǔJ谴a重用,而設(shè)計模式是設(shè)計重用,架構(gòu)則介于兩者之間,部分代碼重用,部分設(shè)計重用,有時分析也可重用。在軟件生產(chǎn)中有三種級別的重用:內(nèi)部重用,即在同一應(yīng)用中能公共使用的抽象塊;代碼重用,即將通用模塊組合成庫或工具集,以便在多個應(yīng)用和領(lǐng)域都能使用;應(yīng)用框架的重用,即為專用領(lǐng)域提供通用的或現(xiàn)成的基礎(chǔ)結(jié)構(gòu),以獲得最高級別的重用性。
框架與設(shè)計模式雖然相似,但卻有著根本的不同。設(shè)計模式是對在某種環(huán)境中反復(fù)出現(xiàn)的問題以及解決該問題的方案的描述,它比框架更抽象;框架可以用代碼表示,也能直接執(zhí)行或復(fù)用,而對模式而言只有實例才能用代碼表示;設(shè)計模式是比框架更小的元素,一個框架中往往含有一個或多個設(shè)計模式,框架總是針對某一特定應(yīng)用領(lǐng)域,但同一模式卻可適用于各種應(yīng)用??梢哉f,框架是軟件,而設(shè)計模式是軟件的知識。
框架模式有哪些?
MVC、MTV、MVP、CBD、ORM等等;
框架有哪些?
C++語言的QT、MFC、gtk,Java語言的SSH 、SSI,php語言的 smarty(MVC模式),python語言的django(MTV模式)等等
設(shè)計模式有哪些?
工廠模式、適配器模式、策略模式等等
簡而言之:框架是大智慧,用來對軟件設(shè)計進(jìn)行分工;設(shè)計模式是小技巧,對具體問題提出解決方案,以提高代碼復(fù)用率,降低耦合度。