MVC之間如何通訊

2021-06-21 12:27:21 字數 889 閱讀 1467

ontroller->model 完全允許。因為controller 要問model如何在螢幕展現內容。

controller->view  完全允許 。  通訊屬性outlet,在controller裡建立outlets傳輸到view中。

model---view  之間永遠不會通訊。因為model和介面沒有關係。view是要重用的,model和view關聯,當model改變後,view得重寫。

view->controller 通過 target action這個結構來通訊。controller自己畫了個 target(目標) ,然後把action(動作)交給view。當view發生一些事情,比如按鈕被按下,它把action 傳送到target,這時候controller就知道了。view 和controller還有別的通訊機制,比如view要告訴controller發生什麼事情 ,將要發生什麼事情,或詢問是否允許,用到了will did should 。controller把自己設定成委託,用協議來完成委託。來回應will,did,should。這時候,view 還是不知道回應的controller是哪個類。

記住:views 不擁有它們展示的資料。

那view如何獲取資料呢?

通過協議獲取,delegation 方法,比如data at , count.

資料來源的delegation永遠是controller,不可能是model。 

三大陣營的工作流程是這樣的:controller去model那取資料,告訴view展現資料在螢幕上。即使只有一行**,也得有controller來參與,不能壞了規矩。

model不能主動勾搭controller,那model資料有變化了,那怎麼讓controller知道呢?notification 或kvo機制。當model資料改變,它就廣播,controller就收到了。

容器之間如何通訊

1.宿主機埠對映 2.容器鏈結 docker 還有乙個鏈結系統能夠把多個容器鏈結到一起.通過linking,容器之間能夠相互發現,並能夠安全地傳輸資訊.當建立linking時,實際上是在源容器和目標容器之間建立了一根管道 conduit 要建立linking,需要使用 link標誌,首先建立乙個新容...

程序之間究竟有哪些通訊 方式?如何通訊?

1 管道 我們來看 一條 linux 的語句 netstat tulnp grep 8080 學過 linux 命名的估計都懂這條語句 的含義,其中 是管道的意思,它的作 用就是把前 一條命令的輸出 作為後 一條命令的輸 入。在這 裡 就是把 netstat tulnp 的輸出結果作為 grep 8...

MVC目錄之間的關係

1.根據模型 models 找到控制器 controllers 控制器中通過new例項化模型來使用它,所以可以全域性搜尋 new 模型名 來找到相應的控制器。2.根據檢視 views 找到控制器 controllers 目錄 views aaa bbb.php 兩種方法找到相應介面 a.contro...