OC底层知识(七) : 架构设计

  • 一、抛出几个的问题

    • 1.1、讲讲 MVC、MVVM、MVP,以及你在项目里具体是怎么写的?
    • 1.2、你自己用过哪些设计模式?
    • 1.3、一般开始做一个项目,你的架构是如何思考的?
  • 二、架构(Architecture)

  • 2.1、下面的是对架构的理解

    • 软件开发中的设计方案
    • 类与类之间的关系、模块与模块之间的关系、客户端与服务端的关系
  • 2.2、平时常常听到的架构名词

    • MVC、MVP、MVVM、VIPER、CDD
    • 三层架构、四层架构
  • 2.3、苹果最初对 MVC 的设计(代码交互都放在了Controller里面

    Model-View-Controller

    • 优点:View、Model 可以重复利用,可以独立使用
    • 缺点:Controller的代码过于臃肿
    • MVC模式的demo
  • 2.4、MVC – 变种(其实就是给view传model,而不再是在Controller里面给view赋值,把赋值的操作放到view里面)

    MVC – 变种

    MVC – 变种的交互

    • 优点:对Controller进行瘦身,将View内部的细节封装起来了,外界不知道View内部的具体实现
    • 缺点:View依赖于Model
    • MVC 变种模式的demo
  • 2.5、MVP 模式

    Model-View-Presenter

    • 特点
    • 优点:View、Model 可以重复利用,可以独立使用,代码的处理都放在了Presenter里面
    • 缺点:Controller可能要建立多个Presenter
    • MVP 模式的demo
  • 2.6、MVVM 模式

    Model-View-ViewModel

    • 优点:View、Model 可以重复利用,可以独立使用,代码的处理都放在了viewMode里面
    • 缺点:Controller可能要建立多个viewMode
    • MVVM 模式的demo
  • 2.7、三层架构、四层架构

    三层架构、四层架构

  • 三、设计模式(Design Pattern)

  • 3.1、设计模式

    • 是一套被反复使用、代码设计经验的总结
    • 使用设计模式的好处是:可重用代码、让代码更容易被他人理解、保证代码可靠性
    • 一般与编程语言无关,是一套比较成熟的编程思想
  • 3.2、设计模式可以分为三大类(单例模式观察者模式)

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

    • 4.1、数据结构与算法
      严蔚敏,《数据结构》

      严蔚敏,《数据结构》

      大话数据结构与算法 提取码: f2ux
      大话数据结构与算法

    • 4.2、网络

      HTTP权威指南

      HTTP权威指南电子书 提取码: bsji
      《TCP/IP详解卷1:协议》:买第一本就好
      TCP/IP详解卷

      TCP/IP详解卷1、2、3 电子书 提取码: 35ei

    • 4.3、架构与设计模式

      • 架构
      • 设计模式

你可能感兴趣的:(OC底层知识(七) : 架构设计)