對前端MVC有些困惑:Model:寫邏輯Control 進行頁面節點事件的註冊與控制,以及頁面載入效能的實作
那麼,在大型專案開發中,Model和Control 要分別兩個.js檔案寫嗎,還是在一個js中實現,只要主力v和M的分離就可以? 如果是分成control.js和model.js,那是不是會增加頁面請求了呢?
求大神幫解答一下
光阴似箭催人老,日月如移越少年。
要!分開是為了更好的相遇! Model是對資料的操作方法的集合,Controller負責調用Model的方法和響應View. 大項目的特點是數據流動多且複雜,不分開,數據的操作方法穿插在Controller中(耦合), 那這樣對頁面資料的操作沒有整體把控,而且不易維護和重複使用。分開,Model只暴露方法,這時可把Model看成生產數據的機器,你在Controller中調用對應的方法和參數,它就返回給你對應的數據,方法內部對Controller是透明的(解耦) 。 Model也方便維護和重用,甚至要求的url也可以分離出來單獨維護。
前端工程化必然會提到建置工具,所以藉助工具打包到一塊可以了。
勉強回答,沒有程式碼,有錯誤請指出 :)
@kraaas 已經回答了,不多說了。
Model 和 Controller 上升到概念的時候,分與不分又有什麼關係呢?當程式碼給機器讀的時候,分與不分又有什麼關係呢……問題在於,程式是寫給人看的,而不是寫給機器看的,所以,怎麼看方便怎麼來,明顯分開是種比較好的選擇。
Model和Controller要分別兩個.js檔寫嗎
要!分開是為了更好的相遇!
Model是對資料的操作方法的集合,Controller負責調用Model的方法和響應View.
大項目的特點是數據流動多且複雜,不分開,數據的操作方法穿插在Controller中(耦合), 那這樣對頁面資料的操作沒有整體把控,而且不易維護和重複使用。分開,Model只暴露方法,這時可把Model看成生產數據的機器,你在Controller中調用對應的方法和參數,它就返回給你對應的數據,方法內部對Controller是透明的(解耦) 。 Model也方便維護和重用,甚至要求的url也可以分離出來單獨維護。
那是不是會增加頁面請求了呢?
前端工程化必然會提到建置工具,所以藉助工具打包到一塊可以了。
勉強回答,沒有程式碼,有錯誤請指出 :)
@kraaas 已經回答了,不多說了。
Model 和 Controller 上升到概念的時候,分與不分又有什麼關係呢?當程式碼給機器讀的時候,分與不分又有什麼關係呢……問題在於,程式是寫給人看的,而不是寫給機器看的,所以,怎麼看方便怎麼來,明顯分開是種比較好的選擇。