亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

好奇 MVC 運作方式?

好奇 MVC 運作方式?

PHP
HUWWW 2018-12-24 12:54:14
這幾日因為頻繁的在網上看 MVC (PHP) 和親自實作了一些腳本,還有看Laravel發現MVC都是一個文件中會去找許多的FUNCTION然后甚至FUNCTION再去找FUNCTION這跟寫在同一個頁面有哪些差別?難道這樣速度不會變慢嗎?因為這樣當它讀取了這個FUNCTION腳本時(一開始的ROUTER)然后透過這個ROUTER再去找第二個甚至后面好幾個FUNCTION這樣它不就是會一直去找其他腳本然后最后再RETURN回來還是說其實這樣速度才會快?所以寧愿是幾十幾百個文件,但是每個文件里面的腳本只有十幾行、幾十行但若要完成某一個購物車功能他可能會 autoload 十幾個文件里面的FUNCTION,最后每個FUNCTION 它們RETURN回來才會變成一個完整購物車(包含VIEW)用這樣來細分,這樣執行速度反而比較快嗎?
查看完整描述

1 回答

?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

簡單來說,引入MVC相當于一種最佳實踐,它的目的并不是,而是要給業務做梳理建模和角色分解,約定不同的關注點,也有利于面向對象的設計。就像低級語言和高級語言的關系,理論上前者(直接寫匯編或機器碼)有可能更快,后者通過編譯會浪費一部分性能,但是高級語言大大拓寬了開發的想象力,以前可能大佬坐個飛機才寫出來的程序,現在找十個光頭碼農也寫的出來,原因就在于高級語言將聚焦點更多的放在了程序邏輯而不是硬件限制上(這就解放了生產力)。同樣的MVC模型做的也是這個事,它是將控制器、模型和視圖相互分離,代表了最基礎的分層思想,是解決復雜問題的一個經典策略(IT領域里有很多分層策略的體現,比如OSI的7層模型和TCP/IP協議棧的4層模型就是典型個例);另外它其實也是一種約定,即任何遵從MVC模型(可能用了框架也可能沒用)搭起來的程序,你只要按照“從 控制器 獲得用戶輸入,控制 模型 變更,并引發 視圖 更新”這個流程找下去,就能大致理解程序的主要工作邏輯,所以相比大段大段的Function,MVC在組織大型程序上會更有優勢,這就是為什么要用它的理由。

查看完整回答
反對 回復 2018-12-24
  • 1 回答
  • 0 關注
  • 431 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號