/ 读书笔记  

小专栏App架构 - 读书笔记

1.交互逻辑: view action 转变为 model action的操作,我们一般称为交互逻辑
2.表现逻辑: 将 model 的通知和数据转变为 view更改的操作,称为表现逻辑
3.键值观察(KVO): 可以将某个对象上属性的改变通知给另外一个对象
4.响应式编程可以理解为: 建立了一个动态的数据流关系(当 b或者 c的值发生变化时,a的值自动发生变化)

a = b + c
赋值之后 b 或者 c 的值变化后,a 的值不会跟着变化
响应式编程,目标就是,如果 b 或者 c 的数值发生变化,a 的数值会同时发生变化

5.常用的两种 App设计模式: MVC(Model-View-Controller) 和 MVVM(Model-View-ViewModel-协调器)。(都是基于场景进行的架构)

MVC:

第二种是将 Controller里的负责 view-model(视图模型)的 Controller和管理其它 view controller 的 Controller 单独区分开来,本质上是MVC模式的细分版本。

MVVM:

在 MVC中 view controller的角色由 View层级的一部分和协调 view和 model之间的交互,减少到了只是 view层级的一部分。view controller 不需要负责处理展示其它的 view controller,协调器(coordinate) 来进行 view controller层级的管理。

注:View-Model 实际扮演的是类似 Controller的角色, 是 Controller的一个子集。负责 View页面对应的那部分 Controller的功能,MVVM中在每个场景中使用 view-model来描述场景中的表现逻辑和交互逻辑。View-Model为每个 view获取和准备数据。

6.MVC中最常见的两个问题:失效的观察者模式和臃肿的 ViewController
7.Model-View-ViewModel + 协调器 (MVVM) 是一种基于 MVC进行改进的模式,它将所有 Model相关的任务(更新 model,观察变更,将 model显示出来)从 Controller层抽离出来,放到view-model这一层中。
8.Model层持有网络比 Controller层持有网络更好,数据更容易被共享。