換個角度看MVC中的耦合性

2021-04-02 00:13:06 字數 710 閱讀 8841

換個角度看mvc中的耦合性

在mvc模式的主動通知中有兩種通知方案:

1,模型僅僅是通知檢視,模型發生了改變,至於具體發生了哪些改變並沒有告訴檢視,需要檢視在得到通知後,根據自己的興趣點去主動查詢模型中的相關資料。

2,模型在通知檢視時同時攜帶改通知相關的資料(這些資料通常可以滿足檢視進行更新的需要),這些資料通常是模型從自身提取出來並通過某種方式包裝起來,提供給檢視,檢視在得到通知的同時也得到了進行更新所必須的資料,就不用再去查詢模型了。

其實第二種方式中因為模型要預先的提供通知相關資料,而這些資料通常已經足夠檢視使用,否則檢視還是要查詢模型的其它資料以滿足自己的需要(而這就傾向於向第一種方案靠攏)。也就是說模型通知時所提供的資料必須具有某種程度上的完備性,而這種完備性可能和檢視是相關的(至少在系統設計時要考慮檢視更新時需要哪些資料),而mvc的本意是要分離模型和檢視的耦合性,但是這種相關性確以一種隱式的方式(從系統詳細設計階段就開始了)引入了耦合性。也可以認為這種耦合性跟mvc所要解決的耦合性是不同的。

從這種通知資料的完備性上來看,第一種方案實際上也存在這種相同的耦合性,因為檢視在得到通知後要主動查詢模型中的資料,所以在設計模型的時候需要提供一種介面來暴露模型的內部資料,唯一的不同就是這種介面相比與第二種方案中的通知資料報裝器來說要靈活的多。因為包裝器僅僅是為了攜帶某乙個通知所需要的資料,是為此通知單獨設計的,不能用於其它地方。而第一種的介面確可以提供靈活的介面,最大限度的滿足不同種類通知查詢模型資料的需要。

換個角度看MVC中的耦合性

換個角度看mvc中的耦合性 在mvc模式的主動通知中有兩種通知方案 1,模型僅僅是通知檢視,模型發生了改變,至於具體發生了哪些改變並沒有告訴檢視,需要檢視在得到通知後,根據自己的興趣點去主動查詢模型中的相關資料。2,模型在通知檢視時同時攜帶改通知相關的資料 這些資料通常可以滿足檢視進行更新的需要 這...

換個角度看理財

個人理財不僅是金融規劃,要從掙 賺 省 防四個方面入手。雖然越來越多的經理人開始重視理財,但真正熟悉理財的卻不多。理財包含哪些內容?應該怎樣做?介紹理財的四個方面和應注意的一些問題。什麼是理財 個人理財是在既定的理財目標下,充分分析個人財物現狀和風險承擔能力,通過平衡安排各種收入與支出,選擇不同風險...

換個角度看Docker

這篇解析將會涉及 在開始討論前,先丟擲一些問題,可先別急著檢視答案,討論的過程可以讓答案更有趣,問題如下 先來理解一下虛擬機器概念,廣義來說,虛擬機器是一種模擬系統,即在軟體層面上通過模擬硬體的輸入和輸出,讓虛擬機器的作業系統得以執行在沒有物理硬體的環境中 也就是宿主機的作業系統上 其中能夠模擬出硬...