日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

为什么我不再推荐使用 MVC 框架?

發(fā)布時間:2025/3/21 c/c++ 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 为什么我不再推荐使用 MVC 框架? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

來源:鵝是程序猿

toutiao.com/i6763420080542843399

  • 所以V層是否還有必要?

  • 所以我認為目前的多終端環(huán)境下,新的劃分方式如下:


標題是不是有點聳人聽聞,不過我并不是標題黨。考慮到談?wù)撨@類大而虛的東西(比如最好的語言)容易引起爭論和被噴,所以還請諸君帶著看戲而不是庭辯的心態(tài)來看待本文。

從webform過度到mvc,我曾經(jīng)驚嘆mvc革命性的變革。過去,在創(chuàng)建應(yīng)用時通常會按MVC各建一個文件夾,每個文件夾就是一個模塊。MVC三者的職責是這樣的:

1.Controller綁定到某個路由上,接著處理請求參數(shù),然后創(chuàng)建在整個請求中可見的對象,并進行一些業(yè)務(wù)邏輯上的工作。期間會從數(shù)據(jù)庫中構(gòu)造Model,也有可能新建/修改Model后將它們保存入數(shù)據(jù)庫。最后,Controller會通過View響應(yīng)用戶的請求,或者返回重定向的報文。基本上業(yè)務(wù)邏輯都是實現(xiàn)在Controller里面的。(下文為了闡述方便,都以“業(yè)務(wù)邏輯”特指Controller中的業(yè)務(wù)邏輯)

2.每個Model往往對應(yīng)數(shù)據(jù)庫的一個實體。Model類除了裝數(shù)據(jù)之外,還提供了跟自己身份相關(guān)的一些方法,比如User類提供authenticate方法以用于驗證密碼。Model對象通常還會負責檢驗構(gòu)造自己的參數(shù)是否正確。

3.View負責使用給定的參數(shù)渲染模板,并作為響應(yīng)返回給用戶。View一般是由該框架提供的模板語言寫成。

但是用mvc做過N個項目之后,我越來越發(fā)現(xiàn)這種方式在某些方面有著不可忽視的弊端。尤其在現(xiàn)在多端共享數(shù)據(jù)的web環(huán)境,類似于MVC這樣的組織方式已經(jīng)顯得過氣了,不同的客戶端需要不同的V層,很多時候pc端用v層,h5端,小程序段、App端都有自己的V層,然后數(shù)據(jù)通過Controller做成api的形式輸出數(shù)據(jù)。

所以V層是否還有必要?

最近的項目中,Controller直接就是輸出一個JSON數(shù)據(jù),這么一來,傳統(tǒng)的View的扮演的戲份還剩多少似乎,我也一直思考如何如何在我們的項目組中進行改進。

過去,View通常由三部分組成:html代碼,控制流程語句,渲染時的上下文。如果提供的是JSON格式的模板,那么View的前兩部分基本不需要了,只需要渲染時的上下文。可是這么一來,為什么我還需要渲染一個JSON模板,目前的前端框架vue,React可以很方便的實現(xiàn)數(shù)據(jù)渲染。

所以我認為目前的多終端環(huán)境下,新的劃分方式如下:

  • View消亡了,PC端可以回歸原始的html頁面。

  • Model分離成兩層,一層負責數(shù)據(jù)實體,另一層負責數(shù)據(jù)的訪問。

  • Controller分離成兩層,一層負責綁定路由,另一層負責業(yè)務(wù)邏輯。

以上是我個人對mvc的看法,大家可以討論或給出更好的方案。

總結(jié)

以上是生活随笔為你收集整理的为什么我不再推荐使用 MVC 框架?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。