设计模式的六大原则:

    • 单一职责(只完成负责的事件)
    • 开闭原则 (继承 修改封闭)
    • 里氏替换原则
    • 依赖倒置原则 不依赖实现,依赖接口
    • 接口隔离原则 接口粒度要小
    • 迪米特原则 最小知识原则

    image.png

    1. 实现数据、视图、逻辑分离(静态角度)
    2. 生命周期 什么情况销毁 viewmodel(数据)

    MVC 模式:
    数据(Model) : 数据 + 对数据的操作(操作是不依赖视图的操作)
    视图(View) : 不同的模式有不同的定义
    逻辑(Controller):对View和Model进行的操作。View和Model之间的通信和交互

    缺陷:controller 的权利太大(activity) => 什么事情都能做,在需求多变的情况下,activity会变的越来越大 臃肿

    MVP 模式:
    image.png
    进步:activity只剩下了view,presenter承担了view和model之间的交互,满足了单一职责原则,视图数据逻辑是清晰的;

    缺陷:引入了interface,导致方法增多,增加一个方法要改几个地方;

    viewBinding : 只能省略findViewById
    dataBinding: 除了viewBinding的功能还能绑定data,需要修改xml