zoukankan      html  css  js  c++  java
  • 《从零開始学Swift》学习笔记(Day67)——Cocoa Touch设计模式及应用之MVC模式

    原创文章,欢迎转载。转载请注明:关东升的博客  

    MVCModel-View-Controller,模型-视图-控制器)模式是相当古老的设计模式之中的一个,它最早出如今Smalltalk语言中。

    如今,非常多计算机语言和架构都採用了MVC模式。

     

    MVC模式概述

    MVC模式是一种复合设计模式,由 “观察者”(Observer)模式、“策略”(Strategy)模式和“合成”(Composite)模式等组成。MVC模式由3个部分组成,如图所看到的,这3个部分的作用例如以下所看到的。

    • 模型

      保存应用数据的状态,回应视图对状态的查询,处理应用业务逻辑,完毕应用的功能,将状态的变化通知视图。

    • 视图。为用户展示信息并提供接口。用户通过视图向控制器发出动作请求,然后再向模型发出查询状态的申请,而模型状态的变化会通知给视图。

    • 控制器。接收用户请求,依据请求更新模型。另外,控制器还会更新所选择的视图作为对用户请求的回应。

      控制器是视图和模型的媒介,能够减少视图与模型的耦合度,使视图和模型的权责更加清晰,从而提高开发效率。

        

    相应于哲学中的“内容”与“形式”, MVC模型中,模式是“内容”,它存储了视图所须要的数据。视图是“形式”,是外部表现方式,而控制器是它们的媒介。

     

    CocoaTouch中的MVC模式

    上面我们讨论的是通用的MVC模式,而CocoaCocoa Touch框架中的MVC模式与传统的MVC模式略有不同。前者的模型与视图不能进行不论什么通信,全部的通信都是通过控制器完毕的,如图所看到的。

     

    Cocoa Touch框架的UIKit框架中。UIViewController是全部控制器的根类,如UITableViewControllerUITabBarControllerUINavigationControllerUIView是视图和控件的根类。

     

     

    欢迎关注关东升新浪微博@tony_关东升。
    关注智捷课堂微信公共平台。了解最新技术文章、图书、教程信息
     

    很多其它精品iOSCocos、移动设计课程请关注智捷课堂官方站点:http://www.zhijieketang.com
    智捷课堂论坛站点:http://51work6.com/forum.php

     

     

  • 相关阅读:
    codeforces 455B A Lot of Games(博弈,字典树)
    HDU 4825 Xor Sum(二进制的字典树,数组模拟)
    hdu 1800 Flying to the Mars(简单模拟,string,字符串)
    codeforces 425A Sereja and Swaps(模拟,vector,枚举区间)
    codeforces 425B Sereja and Table(状态压缩,也可以数组模拟)
    HDU 4148 Length of S(n)(字符串)
    codeforces 439D Devu and Partitioning of the Array(有深度的模拟)
    浅谈sass
    京东楼层案例思维逻辑分析
    浅谈localStorage和sessionStorage
  • 原文地址:https://www.cnblogs.com/twodog/p/12140051.html
Copyright © 2011-2022 走看看