设计模式的六大原则:
- 单一职责(只完成负责的事件)
- 开闭原则 (继承 修改封闭)
- 里氏替换原则
- 依赖倒置原则 不依赖实现,依赖接口
- 接口隔离原则 接口粒度要小
- 迪米特原则 最小知识原则
- 实现数据、视图、逻辑分离(静态角度)
- 生命周期 什么情况销毁 viewmodel(数据)
MVC 模式:
数据(Model) : 数据 + 对数据的操作(操作是不依赖视图的操作)
视图(View) : 不同的模式有不同的定义
逻辑(Controller):对View和Model进行的操作。View和Model之间的通信和交互
缺陷:controller 的权利太大(activity) => 什么事情都能做,在需求多变的情况下,activity会变的越来越大 臃肿
MVP 模式:
进步:activity只剩下了view,presenter承担了view和model之间的交互,满足了单一职责原则,视图数据逻辑是清晰的;
缺陷:引入了interface,导致方法增多,增加一个方法要改几个地方;
viewBinding : 只能省略findViewById
dataBinding: 除了viewBinding的功能还能绑定data,需要修改xml