国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

設計模式-01-MVC

2019-11-14 18:20:34
字體:
來源:轉載
供稿:網友

概述


  • Model-View-Controller(MVC),即模型-視圖-控制器。
  • MVC將軟件系統分成三大部分:Model,View,Controller,三個部分通過某種機制通信

M、V、C的職能


  • M(Model)

    • 應用程序的核心,用于處理應用程序數據邏輯部分
  • V(View)

    • 處理應用程序數據的顯示
    • 通常依據Model創建
  • C(Controller)

    • 處理用戶的交互
    • 從視圖讀取數據,控制用戶輸入,并向模型發送數據

M、V、C之間的通信


  • 圖解(出自斯坦福大學CS193課程的課件

  • Controller與Model之間的通信

    • Controller可以主動向Model發起會話
    • Model職能被動地回復Controller發起的會話,不能主動請求Controller
  • Controller與View

    • Controller可以完全操控View,因為Controller要把View顯示在屏幕上
    • View可以向Controller發送消息,因為View要將用戶的動作傳遞給Controller
  • Model與View之間無法直接通信
  • 總結

    • Controller對Model:

      • 通過API
    • C對V:

      • Outlet
    • V對C:

      • Target-action,Delegate,Datasource
    • M對C:

      • Notification,KVO

V與C之間通信的方式


  • 目標操作(target-action)

    • Controller內會懸掛一個目標(target),并將一個操作(action)給將要和它交流的視圖對象,如圖解中的target與action
    • 如,為View中的某個按鈕添加一個監聽事件,當按鈕被點擊時就執行相應的處理。
  • 委托

    • 為視圖中的某個控件設置代理,當控件被操作時發送相應的代理消息,執行相應的代理方法,實現View與Controller的通信
    • 如,tableView的代理
  • 數據源

    • Controller通過數據源將View需要的數據傳遞給View,實現Controller與View的通信

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 衡南县| 喜德县| 郑州市| 定远县| 山东省| 贵南县| 桐庐县| 精河县| 翼城县| 凤阳县| 江陵县| 道真| 四平市| 铜陵市| 清丰县| 彭阳县| 壤塘县| 富宁县| 寿光市| 大兴区| 濮阳市| 澄江县| 鹤岗市| 武冈市| 蓬溪县| 淮滨县| 昌江| 迁西县| 繁峙县| 霍山县| 秭归县| 新民市| 新绛县| 明星| 乌什县| 溧水县| 陆川县| 台北市| 阿尔山市| 陆丰市| 德江县|