1 回答

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個(gè)贊
簡(jiǎn)單來(lái)說(shuō),引入MVC相當(dāng)于一種最佳實(shí)踐,它的目的并不是快,而是要給業(yè)務(wù)做梳理建模和角色分解,約定不同的關(guān)注點(diǎn),也有利于面向?qū)ο蟮脑O(shè)計(jì)。就像低級(jí)語(yǔ)言和高級(jí)語(yǔ)言的關(guān)系,理論上前者(直接寫(xiě)匯編或機(jī)器碼)有可能更快,后者通過(guò)編譯會(huì)浪費(fèi)一部分性能,但是高級(jí)語(yǔ)言大大拓寬了開(kāi)發(fā)的想象力,以前可能大佬坐個(gè)飛機(jī)才寫(xiě)出來(lái)的程序,現(xiàn)在找十個(gè)光頭碼農(nóng)也寫(xiě)的出來(lái),原因就在于高級(jí)語(yǔ)言將聚焦點(diǎn)更多的放在了程序邏輯而不是硬件限制上(這就解放了生產(chǎn)力)。同樣的MVC模型做的也是這個(gè)事,它是將控制器、模型和視圖相互分離,代表了最基礎(chǔ)的分層思想,是解決復(fù)雜問(wèn)題的一個(gè)經(jīng)典策略(IT領(lǐng)域里有很多分層策略的體現(xiàn),比如OSI的7層模型和TCP/IP協(xié)議棧的4層模型就是典型個(gè)例);另外它其實(shí)也是一種約定,即任何遵從MVC模型(可能用了框架也可能沒(méi)用)搭起來(lái)的程序,你只要按照“從 控制器 獲得用戶輸入,控制 模型 變更,并引發(fā) 視圖 更新”這個(gè)流程找下去,就能大致理解程序的主要工作邏輯,所以相比大段大段的Function,MVC在組織大型程序上會(huì)更有優(yōu)勢(shì),這就是為什么要用它的理由。
- 1 回答
- 0 關(guān)注
- 434 瀏覽
添加回答
舉報(bào)