美文网首页
mvc的理解

mvc的理解

作者: xiari1991 | 来源:发表于2020-06-26 18:18 被阅读0次
    image.png

    上图是mvc的数据流动图。M通知view展示数据的方式可以多种多样,直接notify通知view;也可以将数据先交给c,然后通过c转交给v都是可以的。iOS一般是通过将数据先交给c,然后通过c转交给v(为什么不用第一种,在另一篇文章去写)

    image.png

    上图是持有关系图。

    mvc的可能出现的问题:
    1、如果v不持有m,那么一大堆赋值、model转为可以显示的数据格式就写在了c层。view的嵌套会使赋值代码大大增加,c层会变得臃肿

    2、如果v持有m,那么
    1)v耦合了m,不方便对view的单元测试和复用
    2)model转为可以显示的数据格式弱业务如果写在了v层,同样不方便v层的测试

    3、如果model转为可以显示的数据格式弱业务写在了c层。
    弱业务重复出现的频率要大于强业务,对复用性的要求更高,如果这部分业务写在Controller,类似的代码会洒得到处都是,一旦弱业务有修改(弱业务修改频率低不代表就没有修改),这个事情就是一个灾难

    4、如果model转为可以显示的数据格式弱业务写在m层
    如果塞到Model里面去,改一处很多地方就能跟着改,就能避免这场灾难。然而其缺点就在于,胖Model相对比较难移植,虽然只是包含弱业务,但好歹也是业务,迁移的时候很容易拔出萝卜带出泥

    相关文章

      网友评论

          本文标题:mvc的理解

          本文链接:https://www.haomeiwen.com/subject/tquufktx.html