iOS架构设计

  • 讲述MVC 、 MVVM 、MVP 以及你在项目里面怎么写的
  • 你自己用过哪些设计模式
  • 一般开始做一个项目 你的架构是怎么思考的

解释:
架构(Architecture)
软件开发中的设计方案
类与类之间的关系、模块与模块之间的关系、客户端与服务端的关系

经常听到的架构名词
MVC、MVP、MVVM、VIPER、CDD
三层架构、四层架构

MVC-Apple版本

优点:
View、Model可以重复利用、可以独立使用
缺点:
Controller的代码过于臃肿
iOS架构设计

MVC-变种

优点:
对Controller进行瘦身、将View内部的细节封装起来,外界不知道内部的具体实现
缺点:
view依赖于Model
iOS架构设计

MVP

iOS架构设计

MVVM

iOS架构设计

多层架构

对代码的业务进行层级区分

  • 界面层–展示的页面
  • 业务层–加载数据的类似服务
  • 网络层–通过网络请求
  • 本地数据层–本地数据库

设计模式

设计模式:

  • 是一套被反复使用、代码设计经验的总结
  • 使用设计模式的好处是:可重用代码、让代码更容易的被理解、保证代码的可靠性
  • 一般与编程语言无关、是一套比较成熟的变成思想

设计模式可以被分为三大类:

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