mvc:
耦合性比较高,view model controller都可以相互访问。
model view controller 模式 视图 控制器。
在android中
- view 对应于 视图布局xml文件;
- model 对应于数据文件或者网络获取的数据体;
- controller 对应activity。
activity(controller)中获取数据(model)并将数据展示在view上面去。
activity将view和model进行分离,在activity中进行绑定和完成逻辑。
mvp:
m和v直接必须通过p才能访问,m和v不能直接进行交互。
model(数据层): 数据获取 对数据进行存储 获取(数据库操作,网络请求操作)
view(UI层) :activity,fragment 或者view,包含presenter成员变量,实现p的抽象接口,将对view上的业务逻辑放到p上实现,p调用view的逻辑将结果进行展示到view上。
presenter(业务逻辑层):用来解耦model和view.
mvp有效降低view的复杂度,避免大量业务逻辑放在view上面,解除view和model的耦合,可扩展,可测试,保证系统整洁,灵活。view层不能喝model层直接交互,必须经过p层来进行中转。也就是说数据和视图的逻辑控制都放在p层。
目标:一套逻辑适用不同UI。
mvp在android中的体现:
时间: 2024-10-10 12:31:59