1、MVC、MVP、MVVM的区别
MVC 模式将程序分为三个部分:模型 、视图(xml文件)、控制器(activity)。目的:将业务逻辑放在控制器里,把业务逻辑和视图层分离;缺点:Activity变得臃肿,Model 将新的数据发送到 View。
MVP 模式将程序分为三个部分:模型、视图(activity)、管理层(Presenter)。MVC模式的View 层和 Model 层存在耦合,MVP 模式将 View 层和 Model 层解耦,之间的交互只能通过 Presenter 层。缺点:Presenter手动更新View麻烦
MVVM模式中,View界面的更新从由Presenter驱动,变成了自动监听数据,随着数据变化而自动更新。
2、抽象类与接口的区别
接口主要用于对类的行为进行约束,你实现了某个接口就具有了对应的行为。抽象类主要用于代码复用,强调的是所属关系。