MVC相关问题总结

MVC

MVC定义:

M:model 模型
V:view 视图
C: controller 控制器

业务逻辑,界面,数据显示分离。

M: 处理业务逻辑
比如说数据库的操作,网络操作,甚至一些耗时操作都会放到model里面

V:处理数据显示部分
xml布局可以视为view层

C:主要是通过Activity处理用户交互的问题
Activity可以视为Controller层

优点:

便于UI界面的显示,和业务逻辑的分离

缺点:

在Activity中业务逻辑还是过于冗余,因此引入MVP模式。

特点:

  1. 耦合性低
    m,v,c三方分离,达到数据解耦的目的
    减少模块代码之间的相互影响

  2. 可扩展性好

  3. 模块职责划分明确

举例:

image

Activity中有一个WeatherModel

image

在点击事件onClick里面,Activity拿到view的数据交给model来处理

image

model处理完之后通过观察者模式,交给listener,listener的onSuccess在Activity里实现,最终实现数据展示。

MVC总结

  1. 利用MVC设计模式,使得项目有了很好的可扩展和维护性
    只需要添加接口和实现接口,然后在接口里面,实现你想要做的功能就可以
    当你需要改变UI的时候,不需要改变Activity中的代码,只需要实现里面的接口,就可以将业务逻辑和显示分离

  2. controller(控制器)是一个中间桥梁作用

  3. 什么时候适合mvc设计模式?
    当一个项目很小且无需频繁修改需求的时候,根本不需要用mvc,如果用了反而使得项目过度设计,显得很冗余

比较适合大项目,一个是业务逻辑复杂,一个是迭代需求比较频繁。页面显示有比较多。
此时需要通过mvc来使项目设计更加的模块化。

posted @ 2022-07-11 10:00  cfdroid  阅读(55)  评论(0编辑  收藏  举报