美文网首页
架构设计

架构设计

作者: 春风依旧 | 来源:发表于2019-07-30 10:51 被阅读0次

一、架构(Architecture)

1、架构的理解:

  • 软件开发中的设计方案
  • 类与类之间的关系、模块与模块之间的关系、客户端与服务端的关系

2、经常听到的架构名词

  • MVC、MVP、MVVM、VIPER、CDD
  • 三层架构、四层架构

二、Apple版MVC

Apple的MVC中,controller持有Model和View,Model和View都不知道对方的存在,数据交互都是在Controller中进行的

apple版MVC.png
  • 优点:View、Model可以重复利用,可以独立使用
  • Controller的代码过于臃肿

三、MVC的变种

这种形式其实就是给view传model,而不再是在Controller里面给view赋值,把赋值的操作放到view里面


MVC的变种.png
  • 优点:对VC进行瘦身,将View内部的细节封装起来了,外界不知道View内部的具体实现
  • 缺点:View依赖于Model

四、MVP模式

MVP架构.png
VC被拆分,只用它处理View的点击事件,数据绑定,等处理,
而View被拆分,更加专注于视图的更新,只做跟视图相关的操作,
而Presenter被独立出来,用于沟通View和Model之间的联系,Model不能直接作用于View 的更新,只能通过Presenter来通知View进行视图的刷新,比如showLoading(),showEmpty(),showToast()等等,
这样View就完全被独立出来了,只是被动接受Presenter的命令,这样避免了View 有过多的逻辑处理,更加简单。
Presenter持有了Model。Model 只用于处理跟数据获取相关的逻辑。
  • 优点:View、Model 可以重复利用,可以独立使用,代码的处理都放在了Presenter里面
  • 缺点:Controller可能要建立多个Presenter

五、MVVM模式

MVVM.png
  • 优点:View、Model 可以重复利用,可以独立使用,代码的处理都放在了viewMode里面
  • 缺点:Controller可能要建立多个viewMode

六、三层架构、四层架构

架构.png

相关文章

网友评论

      本文标题:架构设计

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