• 《从零開始学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

     

     

  • 相关阅读:
    UVa12093
    UVa1631
    vue路由跳转的三种方式
    vue中的钩子函数(判断是否跳转页面)beforeEach
    vue中子组件向父组件传值方法?
    vue中对数组,对象的操作如下
    vue-router的beforeEach的使用?
    vue拦截器使用?
    vue中父子组件以及兄弟组件的传值情况?
    前端模块化?
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/7117259.html
Copyright © 2020-2023  润新知