iOS设计模式与架构

iOS设计模式与架构

架构

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

iOS常见架构

MVC

Apple官方 (VC持有View view通过通知通知VC VC是model和view的桥梁 model和view相互不知道对方) 如tableView的使用 优点是View和Model的重用 缺点是VC的代码过于臃肿

MVC变种

将VC和Model绑定 VC中有model的变量 setModel 使用代理将view事件委托给VC

优点 对COntroller进行瘦身 对view内部细节封装 外部不知道view内部的具体实现
缺点 view依赖于model

MVP

Model Presenter View (VC)-> 通过presenter 去管理model和view
控制只需要拥有presenter 并将自己的功能给 presenter ,presenter负责处理model和view的事件

MVVM

MVVM 的VM功能和presenter方式相同
VM和View的双向绑定 VM持有View view弱引用VM
使用facebook 的 KVOController进行监听
在View 中监听 VM属性的改变并改变自家的属性

VIPER
CDD

分层设计 界面层 业务层 数据层
界面层不需要关心 数据层的实现 通过业务层进行数据的获取 UHA

设计模式

是一套反复使用、代码设计经验的总结 可以重用代码
一般与编程语言无关 是一套比较成熟的编程思想
类和类之间的关系

1.创建型模式 对象实例化模式,用于结构对象的实例化过程
单例模式 工厂方法模式

2、结构型模式 把类和对象结合在一起形成一个更大的结构
代理模式 适配器模式 组合模式 装饰模式

3.行为型模式 类或对象之间如何交互 及划分责任和算法
观察者模式 命令模式 责任链模式

你可能感兴趣的:(iOS设计模式与架构)