美文网首页面试题Objective - C 底层
Objective - C 架构与设计模式

Objective - C 架构与设计模式

作者: 爱玩游戏的iOS菜鸟 | 来源:发表于2020-04-11 14:47 被阅读0次

在学习设计模式与架构时,首先看看下面3个问题?

  1. 讲讲MVC、MVVM、MVP,以及你在项目里具体是怎么写的?
  2. 一般开始做一个项目,你的架构是如何思考的?
  3. 你自己用过哪些设计模式?

(一)何为架构?

  • 架构属于设计层面,是软件开发中的设计方案
  • 小到类之间、模块之间,大到客户端与服务器端的关系,都属于架构的范畴

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

(二)MVC(Model - View - Controller)

Apple推荐的MVC模式
Apple推荐的MVC模式

优点:View、Model可重复利用,独立使用,相互不知道对方的存在,通过Controller作为桥梁建立联系
缺点:Controller过于臃肿

MVC的变种
MVC的变种-常用

优点:对Controller进行瘦身,将内部View的细节封装起来,外界不知道View的内部实现`
缺点:View依赖于Model

(三)MVP(Model - View - Presenter)

Model - View - Presenter

模式:通过Presenter作为中间桥梁,由Controller持有,并通过Presenter创建View,加载数据
优点:对Controller进一步瘦身,创建多个Presenter,每一块界面都有自己独立的界面及相关逻辑。

(四)MVVM(Model - View - ViewModel)

MVVM

模式:通过Presenter作为中间桥梁,由Controller持有,并通过Presenter创建View,加载数据。相对于MVP模式,通过双向绑定,对ViewModel中值的监听,更新View的值

常用的监听方案:Reactive Cocoa 、Foundation框架中的KVO、FaceBook的KVOController

(五)分层架构(三层架构、四层架构)

常见的三层架构,或将本地数据层单独作为一层为四层架构(也可根据需求来定义第四层)

设计模式

设计模式即为一套被反复使用、代码设计经验的总结,是一套比较成熟的编程思想,与语言无关。

优点:可重用代码、让代码更容易被他人理解、保证代码可靠性

设计模式的主要三大类

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

相关文章

  • Objective - C 架构与设计模式

    在学习设计模式与架构时,首先看看下面3个问题? 讲讲MVC、MVVM、MVP,以及你在项目里具体是怎么写的? 一般...

  • 组合模式

    设计模式系列7--组合模式 《Objective-c 编程之道 iOS 设计模式解析》 - 组合模式 常见组合模式...

  • 责任链模式

    Objective-C编程之道 iOS设计模式解析iOS设计模式解析-工厂模式iOS设计模式解析-抽象工厂模式iO...

  • 外观模式

    Objective-C编程之道 iOS设计模式解析iOS设计模式解析-工厂模式iOS设计模式解析-抽象工厂模式iO...

  • 工厂模式

    Objective-C编程之道 iOS设计模式解析iOS设计模式解析-工厂模式iOS设计模式解析-抽象工厂模式iO...

  • 抽象工厂模式

    Objective-C编程之道 iOS设计模式解析iOS设计模式解析-工厂模式iOS设计模式解析-抽象工厂模式iO...

  • 享元模式

    Objective-C编程之道 iOS设计模式解析iOS设计模式解析-工厂模式iOS设计模式解析-抽象工厂模式iO...

  • 观察者模式

    Objective-C编程之道 iOS设计模式解析iOS设计模式解析-工厂模式iOS设计模式解析-抽象工厂模式iO...

  • 中介者模式

    Objective-C编程之道 iOS设计模式解析iOS设计模式解析-工厂模式iOS设计模式解析-抽象工厂模式iO...

  • 策略模式

    Objective-C编程之道 iOS设计模式解析iOS设计模式解析-工厂模式iOS设计模式解析-抽象工厂模式iO...

网友评论

    本文标题:Objective - C 架构与设计模式

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