• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Android三大架构设计模式的初步理解

android 搞代码 3年前 (2022-03-01) 22次浏览 已收录 0个评论
文章目录[隐藏]

「Android」三大架构设计模式的初步了解

为什么要进行架构设计?

  • 模块化性能

    使得程序模块化,即:外部的高聚合、模块之间的低耦合

  • 进步开发效率

    开发人员只需专一于某一点(视图显示、业务逻辑 / 数据处理)

  • 进步测试效率

    不便后续的测试 & 定位问题

三大支流模式

  • MVC:MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。
  • MVP:MVC全名是Model View Persenter,MVP由MVC演变而来,是当初支流的开发模式。
  • MVVM:MVVM全名是Model-View-ViewModel,它实质上就是MVC的改进版。

各种模型的次要目标都是是拆散视图(View)和模型(Model),行将UI界面显示和业务逻辑进行拆散。

MVC

为解决程序模块化问题,MVC模式呈现了:将业务逻辑、数据处理与界面显示进行拆散来组织代码,即分成M、V、C层。


MVP

M、V层还是有互相穿插、隔离度不够,同时写到Activity上使得Activity代码臃肿,于是呈现了MVP: 隔离了MVC中的 M 与 V 的间接分割,将M、V层更加隔离开来,并开释了Activity的压力。


MVC和MVP的区别

作为一种新的模式,MVP与MVC有着一个重大的区别:在MVP中View并不间接应用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都产生在Presenter外部,而在MVC中View会间接从Model中读取数据而不是通过 Controller。
在MVC里,View是能够间接拜访Model的。从而,View里会蕴含Model信息,不可避免的还要包含一些业务逻辑。 在MVC模型里,更关注的Model的扭转,而同时有多个对Model的不同显示,即View。所以,在MVC模型里,Model不依赖于View,然而View是依赖于Model的。不仅如此,因为有一些业务逻辑在View里实现了,导致要更改View也是比拟艰难的,至多那些业务逻辑是无奈重用的。
尽管MVC中的View确实“能够”拜访 Model,然而不倡议在View中依赖Model,而是要求尽可能把所有业务逻辑都放在Controller中解决,而View只和Controller交互。

MVVM

为了更加拆散M、V层,更加开释Activity的压力,于是呈现了MVVM: 使得V和M层之间的耦合水平进一步升高,拆散更为彻底,同时更加加重了Activity的压力。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Android三大架构设计模式的初步理解

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址