1. 程式人生 > >互動式系統(MVC模式)

互動式系統(MVC模式)

下面情境描述了MVC的動態行為。處於簡化的目的,這些示意圖中只有一對檢視-控制器

情境1   使用者輸入導致模型發生變化,進而觸發變更傳播機制

  1. 控制在其事件處理過程中接受使用者輸入、對事件進行解讀並激活模型的服務過程。
  2. 模型執行請求的服務,導致其內部資料發生變化。
  3. 模型通知所有向變更傳播機制註冊了的檢視和控制器,即呼叫他們的更新過程。
  4. 每個檢視都向模型請求修改後的資料,並在螢幕上重新顯示自己。
  5. 每個已註冊的控制器都從模型哪裡獲取資料,以啟用或禁用某些功能。例如,模型的資料被修改後,可能啟用將資料存檔的選單項。
  6. 原來的控制器重新獲取控制權,並從事件處理過程返回。

情境2   初始化MVC模式中的元件。這種程式碼通常不在模型、檢視和控制器中,例如,可能位於主程式中。每次開啟模型的檢視都將以類似的方式初始化檢視和控制器。初始化組建的步驟如下:

  1. 建立模型例項,隨後該例項將初始化其內部資料結構。
  2. 建立一個檢視物件。這將把指向模型的引用作為引數,以便初始化檢視。
  3. 檢視呼叫關聯(attach)過程,向模型的變更傳播機制註冊。
  4. 檢視建立控制器,以繼續完成初始化工作。它將指向模型和自己的引用傳遞給控制器的初始化過程。
  5. 控制器也呼叫關聯過程,向變更傳播機制進行註冊。
  6. 初始化完成之後,應用程式開始處理事件。

下一篇文章將用虛擬碼來詳細介紹建立過程。訪問地址:https://blog.csdn.net/yangfahe1/article/details/84110782