MVC(MVC的缺陷)

  • 非常遺憾的是,在一些官方的教學文檔中,甚至是Android和iOS的教學文檔中的例子中,也會出現View和Model直接通信的例子。不過這種狀況逐漸在改變,因為越來越多的同行發現,在MVC中讓View和Model直接對話就是災難。

  • 當我向以前沒接觸過Flux的朋友介紹Flux的時候,發現了一個有意思的現象。凡是只在服務器端使用過MVC框架的朋友就很容易理解和接受Flux。而對于已經有很多瀏覽器端MVC框架經驗的朋友,往往還要費一點勁才能明白MVC和Flux的差異。造成這種認知差別的主要原因,就是服務器端MVC框架往往就是每個請求就只在Controller-Model-View三者之間走一圈,結果就返回給瀏覽器去渲染或者其他處理了,然后這個請求生命周期的Controller-Model-View就可以回收銷毀了,這是一個嚴格意義的單向數據流;對于瀏覽器端MVC框架,存在用戶的交互處理,界面渲染出來之后,Model和View依然存在于瀏覽器中,這時候就會誘惑開發者為了簡便,讓現存的Model和View直接對話。

  • 對于MVC框架,為了讓數據流可控,Controller應該是中心,當View要傳遞消息給Model時,應該調用Controller的方法,同樣,當Model要更新View時,也應該通過Controller引發新的渲染。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容