美文网首页面试题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 架构与设计模式

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