zoukankan      html  css  js  c++  java
  • ios开发里的mvc通信模型

    在ios开发里面,我们经常用到各种设计模式, 其中最经典最常用的就是mvc模型,它们的设计模式是怎样的呢?

    可以通过下面的两张图来了解:

                                                                                 图一:单个MVC之间的通信方向

    M(模型)和V(视图)还有C(控制器)的通信方向可以简单通过汽车在马路上行驶指示线来表示,模型和控制器之间是控制器可以访问模型,而模型不能访问控制器,但是有些时候模型发生变化了,要告诉控制器,就要通过一个叫广播台的机制来广播,控制器收到广播后,会做出特定的操作,比如:更新视图。

    视图和控制器之间的通信方向是,控制器可以访问视图,但是视图不能访问控制器,当视图发生改变或者需要数据时,就会通过Action的Outet输出口来告诉控制器,视图发生改变了,控制器就会执行特定操作,比如访问模型,更新UI等。

    而视图和模型之间的通信是不允许的。

                                 图二:多个MVC模型之间的设计

    当有多个MVC时,它们是通过把其中的一个mvc作为另一个mvc的V,只有一个单向的跳转,这样的好处就是,它们之间的业务逻辑不会太复杂,当程序出现问题时就不会很混乱,可以快速找出问题出现在哪?

  • 相关阅读:
    loj 3285 「USACO 2020 US Open Platinum」Circus
    UOJ Round #19 简要题解
    AtCoder Grand Contest 043 简要题解
    JOISC 2020 部分题目简要题解
    HNOI 2019 简要题解
    十二省联考 2019 简要题解
    九省联考 2018 简要题解
    loj 6391 「THUPC2018」淘米神的树 / Tommy
    loj 6703 小 Q 的序列
    Goodbye Jihai 部分题目简要题解
  • 原文地址:https://www.cnblogs.com/panxiaochun/p/5041670.html
Copyright © 2011-2022 走看看