美文网首页
iOS 设计模式与架构

iOS 设计模式与架构

作者: yyggzc521 | 来源:发表于2021-09-21 13:55 被阅读0次
  • 设计模式

是一套能被反复使用、更方便他人理解、保证代码可靠性的经验总结
一般与编程语言无关,是一套比较成熟的编程思想

可以分为三大类

  1. 创建型:对象实例化的模式,用于解耦对象的实例化过程;
    单例模式、工厂方法模式等等
  2. 结构型:把类或对象结合在一起形成一个更大的结构;
    代理模式、适配器模式、组合模式、装饰模式等等
  3. 行为型:类或对象之间如何交互及划分责任和算法;
    观察者模式、命令模式、责任链模式等等。

iOS中常用单例、代理、观察者模式

  • 架构

一般比设计模式大,整个应用程序分为多少层架构;
将类分成很多角色(M、V、C、P、VM等等);

  1. MVC

MVC
  • Controller创建并持有View,View通知**Controller处理事件;
    (如View内部的点击、滚动事件,通知Controller去处理这些业务逻辑)
  • Controller发送网络请求或解析、加载数据,并且Controller拥有和管理 Model
  • Model发生改变,Controller会将最新的Model显示到View上面去
  • Controller是Model和View的桥梁,Model和View相互独立

优点:View、Model可以重复利用,可以独立使用;
缺点:Controller的代码过于臃肿

  1. MVP

MVP
1、 相当于用Presenter代替了MVC的Controller,本来Controller做的事情,现在交给Presenter做了,View的点击事件也交给presenter
2、控制器和presenter互相拥有,但presenter拥有weak类型的控制器,防止循环引用;
3、Model和View相互独立,View不拥有Model,又不想暴露控件,所以使用方法更新数据

优点:Presenter代替了MVC中的Controller,View、Model重复利用,可以独立使用;
缺点:Presenter和View的耦合性太高,每个View对应一个Presenter,导致类太多

  1. MVVM

MVP和MVVM有很相似
共同点:对Controller进行瘦身,将View和Model的一些业务逻辑放在Presenter或ViewModel中;
不同点:属性监听绑定;
View拥有ViewModel并监听ViewModel内部属性的改变,当属性改变时会更新View

优点:对Controller进行瘦身,实现双向绑定
缺点:类会变多、bug不便调试

分层设计

分层

MVC、MVP、MVVM属于界面层,分层设计是不同层级分别处理所在层级的任务

参考资料:
https://juejin.cn/post/7005095326025515021#heading-1

相关文章

  • iOS MVVM架构总结

    参考:iOS 中MVC设计模式iOS MVVM架构iOS MVVM-框架介绍iOS 架构模式MVVM的实践总结iO...

  • iOS 架构模式学习笔记

    iOS 架构模式学习笔记 设计模式 设计模式 和 编码技巧 、架构模式的区别: 设计模式:特定场景下的最佳实践 如...

  • iOS开发小帖:设计模式

    设计模式精彩文章 iOS 架构模式--解密 MVC,MVP,MVVM以及VIPER架构 MVP设计模式 基于面向协...

  • iOS架构模式——MV(X)的理解与实战

    iOS架构模式——MV(X)的理解与实战 iOS架构模式——MV(X)的理解与实战

  • 软件设计混淆概念书目录

    设计概念 设计模式 框架 架构 平台 框架与架构之间的关系 框架与设计模式之间的关系

  • iOS设计模式与架构

    iOS设计模式与架构 架构 软件开发中的设计方案类与类之间的关系 模块与模块之间的关系 客户端与服务器之间的关系 ...

  • iOS 设计模式与架构

    设计模式 是一套能被反复使用、更方便他人理解、保证代码可靠性的经验总结一般与编程语言无关,是一套比较成熟的编程思想...

  • 架构学习

    参考:http://ios.jobbole.com/84897/架构模式 简述猿题库架构设计 "没有最好的架构,只...

  • iM

    ios IM 架构设计 ios IM 网络层架构 ios 侧滑与右滑返回手势http://blog.csdn.n...

  • iOS架构

    这里说几个概念:iOS系统框架:iOS系统架构:iOS架构:iOS 代码架构:iOS架构师:iOS架构设计: iO...

网友评论

      本文标题:iOS 设计模式与架构

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