前端 MVC 和伺服器端有哪些差別?

時間 2021-05-31 23:50:31

1樓:泥腿

只要涉及到資料-邏輯-顯示,都可以用MVC的設計理念!就前端而言,資料層可能是ajax拿到的資料,也可以是來自頁面! 檢視就是dom,邏輯層當然就是JS!看你怎麼使用了!

2樓:尤雨溪

伺服器端的MVC,每次使用者幹了什麼,流程大致是這樣的:

客戶端傳送請求 -> 伺服器觸發Controller -> 伺服器進行Model各種操作 -> 伺服器根據Model資料渲染View -> 伺服器回覆請求,包含了整個View的html -> 客戶端重新渲染整個頁面,所有的css都又計算了一遍,所有的js都重新執行了一遍,所有的資源都重新請求了一遍(雖然可能已經cache了)

前端MVC的話則是這樣的(前端其實大部分是MV+X,不一定有Controller):

客戶端根據使用者的行為修改客戶端Model -> 客戶端更新和該Model相關的View -> 客戶端Model傳送sync請求到伺服器,只包含改變了哪些資料 -> 伺服器審核資料改動是否合法,只需回覆是否修改成功 -> 客戶端收到成功,什麼都不用做;不成功,則把剛才改的View改回來,然後通知使用者。(當然,也可以在客戶端的Model裡面也加入審核機制,這樣對不合法資料的反應更快,但還是得保留伺服器端的審核)

比較一下可以看到,前端MVC需要向伺服器端傳遞和接收的資料量都少很多,而前端要做的等待和渲染工作也少了很多。換言之,會提供更快的互動反饋,也意味著更好的使用者體驗。同時,伺服器端的負載也略有降低,因為基本上只需要在資料庫上提供乙個RESTful API即可。

3樓:楚西文 Kiza

MVC pattern, 嚴格意義上說瀏覽器上只應有 VC, 而伺服器端只應有 MC。domain knowledge 不應該出現在前段

前端和伺服器端的node都用typescript寫有什麼優勢?

Mike Li 中午在stack overflow 上面看了國外程式設計師對typescript 優點的介紹,有兩點印象比較深。一是,ts適合大型專案。二是,ts和js關係,有點像sass 和css 的關係。 優勢當然就是靜態型別檢查和ide的智慧型感知啦,主流的庫,ts的定義檔案都是有的,不過也有...

PC和伺服器有啥區別?

Li Chun PC就是personal computer,顧名思義,就是個人的計算機,個人自己用。同樣,伺服器是server,功能是serve,也就是主要服務別人。所以同一臺電腦,如果如果是自己用,那就是PC,但是如果搬到機房去服務很多人 或者很多別的計算機 就變成了伺服器。上面這些,大概就是區別...

工作站和伺服器有什麼不同?

已重置 相對而言伺服器專注於資料吞吐能力,所以支援的外設 硬碟 I O插槽等 更多 工作站則專注於圖形處理能力,所以外設則相對少一些,但採用特別為圖形處理設計的架構,採用高檔顯示卡,支援3D影象處理。 士多啤梨小餅乾 工作站就是低噪音版的伺服器。伺服器的噪音尤其是GPU伺服器,執行起來那聲音基本你就...