android进阶篇04、MVC、MVP、MVVM架构简析(1)

在讲解架构设计之前,先讲解一下设计模式的六大原则,虽然是设计模式的六大原则,但我们在进行架构设计的时候也应该尽量遵循这些原则;

六大原则如果仅看概念会比较抽象,而且也不容易理解。这里我们举一个生活中的例子:汽车是基类;轿车是汽车的一个子类;汽车都是在路上跑的,所以我们把公路抽象成一个接口,让汽车实现此接口;汽车都可以用来载人,所以我们把人抽象成一个接口,让汽车实现此接口;汽车也可以载鸡鸭鱼,不过需要通过人来携带上去,因此把鸡鸭鱼放入人的接口中;

下面对每一个原则给处官方解释,然后结合汽车这个例子去理解;

1、单一职责原则

就一个类而言,应该仅有一个引起它变化的原因;

这里我们设计的汽车类就符合单一职责,它的单一职责就是在路上跑;

2、开放封闭原则

类、模块、函数应该是可以扩展的,但不可修改;

这里我们对汽车就是采取的开放封闭原则,轿车通过继承汽车扩展功能,并且没有修改基类汽车;

3、依赖倒置原则

高层模块不应依赖底层模块,两者都应该依赖于抽象,抽象不应该依赖于细节,细节应该依赖于抽象;

本例中我们的汽车类是实现了公路接口,也就是依赖于抽象;公路接口就是一个抽象;

4、接口隔离原则

一个类对另一个类的依赖应该建立在最小的接口上;

我们这里汽车实现了公路和人两个接口,每个接口都负责特有的方面,即接口隔离;

5、里氏替换原则

所有引用基类的地方必须能透明的使用其子类的对象;

本例中所有需要汽车的地方,传入轿车也没有问题;但是需要轿车的地方就不能传入汽车;

6、迪米特原则

一个软件实体应当尽可能少的与其他实体发生作用;

本例中我们的汽车可以载鸡鸭鱼,但是鸡鸭鱼需要通过人来携带,因此我们并没有为鸡鸭鱼单独抽象出接口,而是将其放入人的接口中,汽车也就尽可能少的与其他实体发生作用;

二、架构介绍

如果我们在进行开发时不使用架构思想,那么所有的代码会一股脑的放在activity或者fragment中,业务需求复杂多变,并且需要经常去修改;数据、视图、逻辑都放在一起会显得混乱,维护起来及其困难,出现错误很难排查;介绍三大架构之前先介绍一下几个概念;

数据model:数据包括数据本身以及对数据操作的逻辑,数据本身独有的操作逻辑,不牵扯视图;

视图view:不同的架构模式view代表的部分也不相同,下面单独介绍;

控制逻辑:不同的架构模式控制部分也不相同;

1、MVC

mvc模式下的view主要是指xml文件和activity中与视图相关联的部分,例如findViewById等操作;而mvc模式中的c是指controller,其实也就是activity或者fragment,在activity中进行逻辑的控制,让数据和视图进行交互;

最后

我这里整理了一份完整的学习思维以及Android开发知识大全PDF。

当然实践出真知,即使有了学习线路也要注重实践,学习过的内容只有结合实操才算是真正的掌握。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: MVCMVPMVVM 是三种设计模式,用于在 Android 应用程序中组织代码。 MVC(模型-视图-控制器):模型存储应用程序数据,视图显示数据,控制器处理用户交互。 MVP(模型-视图-presenter):与 MVC 类似,但 presenter 更加紧密地与视图绑定,负责更新视图。 MVVM(模型-视图-视图模型):与 MVP 类似,但视图模型与视图绑定,负责将数据转换为视图可用的形式。 三者的差异在于MVC会产生视图和模型之间的耦合,MVPMVVM是将视图和模型之间的耦合分离,更加灵活。 ### 回答2: Android开发中,MVCMVPMVVM都是常见的架构模式,用来组织Android应用的代码结构,让代码更加规范、易于维护。 MVC(Model-View-Controller)是最早的一种架构模式,它将应用分为三个模块:模型(Model)、视图(View)和控制器(Controller)。其中模型负责数据的存储和操作,视图负责显示界面,控制器则负责对用户输入进行响应,协调模型和视图之间的关系。MVC模式的优点是结构清晰,各个模块职责分明,易于实现代码复用,因此广泛应用。但是MVC模式也有一些缺点,比如控制器中很难进行单元测试,代码复杂度较高,难以维护大型项目等问题。 MVP(Model-View-Presenter)是一种基于MVC模式的改进,它将模型和视图分离,通过在中间加上Presenter来连接两者。Presenter接受用户的输入,并根据视图的状态更新数据模型,然后更新视图显示。MVP模式的优点是易于单元测试,将业务逻辑和界面分离,代码复杂度较低,易于维护。但是对于大型项目,Presenter层也会变得庞大且复杂。 MVVM(Model-View-ViewModel)是一种结合数据绑定和命令模式的前端设计模式,它将模型、视图和ViewModel分开,通过数据绑定将视图和ViewModel联系起来。ViewModel封装了视图的状态和行为,当ViewModel被修改时,视图会自动更新。MVVM模式的优点是将视图和ViewModel解耦,通过数据绑定自动更新视图,提高了代码的可重用性。但MVVM模式需要使用大量的数据绑定,可能导致系统卡顿,同时实现较为复杂。 总的来说,MVCMVPMVVM这三种模式都有各自的适用场景。在小型项目中,可以使用MVC模式;在中型项目中,可以使用MVP模式;在大型项目中,可以使用MVVM模式。选择合适的架构模式能够让代码更易于维护,提高开发效率。 ### 回答3: Android是一种以Java为基础的开源操作系统,广泛应用于移动设备中。在开发Android应用程序时,常用的三种架构模式是MVCMVPMVVMMVC是一种典型的应用程序架构模式,其中M代表模型,V代表视图,C代表控制器。在Android中,MVC通常用规定ViewController或Activity来实现。 MVP是Model-View-Presenter的缩写,其中M代表模型,V代表视图,P代表演示者。MVP将视图项分离,并引入中间者Presenter,以实现界面和业务逻辑分离的目的。在Android中,MVP通常实现在Activity或Fragment上。 MVVM是Model-View-ViewModel的缩写,其中M代表模型,V代表视图,VM代表视图模型。ViewModel担任中间件角色,处理视图中的数据,并使控制逻辑与视图分离开。在Android中,MVVM通常实现了Data Binding。 总的来说,三种架构模式都旨在将应用程序分离成各个组成部分,每个部分具有各自分离的职责,在开发Android应用程序时选择合适的架构模式,能够提高开发效率、提高代码质量、降低维护成本、提高整个应用程序的可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值