MVC设计模式
1.定义
M(Model):业务逻辑处理。暴露方法接口供C层调用。数据库操作,网络操作等耗时操作
V(View):处理数据处理。处理数据显示,XML布局可以视为View层
C(Controller):Activity处理用户交互。读取数据给View层显示
2.特点:耦合性低
便于UI界面显示和业务逻辑分离。
使项目有很好的扩展性(只需要在M层中添加对应的接口和方法)和维护性。
那通过什么解耦呢??答:接口
MVP设计模式
MVP 模式将 Controller 改名为 Presenter,同时改变了通信方向。
1.定义
View:对应Activity,负责View的绘制和用户的交互。(与MVC的区别)
Presenter:处理View层和Model层的交互,抽离了Activity的业务逻辑,抽离复杂代码。
Model:业务逻辑和实体模型
2.解释
-
各部分之间的通信,都是双向的。
-
View 与 Model 不发生联系,都通过 Presenter 传递。
-
View 非常薄,不部署任何业务逻辑,称为"被动视图"(Passive View),即没有任何主动性,而 Presenter非常厚,所有逻辑都部署在那里。
3.特点:耦合性更加低
抽离出Activity中的逻辑处理进Presenter层,耦合性低。
那通过什么解耦呢??答:接口