一.为什么要引入架构设计? 我们的项目为什么要引入架构设计?架构设计的目的是使你的项目模块化,实现模块内部高聚合、模块之间低耦合,这样做的好处是在协同开发中,每个开发人员可以更专注的开发某一点,提高开发效率,并且项目结构清晰、可维护性高。 二.Android架构演变 Android的发展中,不同时期流行的架构演变主要是从MVC到MVP到MV
转载
2024-02-22 15:39:32
37阅读
MVVM的大名相信做手机开发的肯定不会陌生,我第一次听到它是从做IOS开发的同学那里听到的,我们的项目之前应用了MVP,要说服大家从MVP到MVVM,肯定得说说为啥,他优秀在那里? 首先我们看看正常MVP的依赖关系图: 这是个经典的MVP依赖关系,View 层和Presente
转载
2023-12-22 21:35:35
137阅读
前言 MVC、MVP和MVVM是软件比较常用的三种软件架构,这三种架构的目的都是分离,避免将过多的逻辑全部堆积在一个类中。 在Android中,Activity中既有UI的相关处理逻辑,又有数据获取逻辑,从而导致Activity逻辑复杂不单一难以维护。  
转载
2024-07-10 17:24:31
258阅读
1、MVVM简介MVVM是相对于MVC和MVP的一个概念,是一种架构模式。1.1 MVC传统的MVC中,View改变通知Controller进行处理,Controller处理结束后通知Model层更新,Model层更新以后通知View层渲染,指令单项流动,角色分工明确。但是MVC有三个缺点,1、三个角色互相持有对方依赖,因此很难复用其中任意一方;2、开发时必须三个模块同步开发,否则很难相互匹配;3
转载
2023-07-11 23:30:32
129阅读
前言在上一篇文章简单的介绍了MVVM架构和Android端实现MVVM架构需要用到的四个官方组件,但是这些组件还有很多的知识和技巧需要我们了解,接下来我们先来详细研究一下DataBinding吧。参考代码地址:https://github.com/guoergongzi/GMVVMDemo/tree/main参考代码Module:gdatabindingdemo21、启用DataBinding首先
转载
2023-11-21 22:51:01
126阅读
Android MVVM的实现前言:在我们写一些项目的时候,通常会对一些常用的一些常用功能进行抽象封装,简单例子:比如BaseActivity,BaseFragment等等…一般这些Base会去承载一些比如标题栏,主题之类的工作,方便Activity的一些风格的统一,也是预留一些函数方便进行HOOK进而实现一些功能。除此之外,一个网络请求也会根据项目采用的技术进行一些封装,比如OkHttp的全局的
转载
2023-07-30 22:52:13
401阅读
本篇从两个方面来讨论MVVM模式:MVVM理论知识MVVM示例讲解 一,MVVM理论知识 从上一篇文章中,我们已经知道,WPF技术的主要特点是数据驱动UI,所以在使用WPF技术开发的过程中是以数据为核心的,WPF提供了数据绑定机制,当数据发生变化时,WPF会自动发出通知去更新UI。 我们使用模式,一般是想达到高内聚低耦合。在WPF开发中,经典的编程模式是MVVM,是为WP
转载
2023-05-26 10:14:54
212阅读
MVVM(Model-View-ViewModel)是一种软件架构模式,旨在提高代码的可读性、可维护性和可测试性。在Android开发中,MVVM模式已经成为非常流行的选择。
MVVM模式将应用程序分为三个主要组件:Model、View和ViewModel。Model是应用程序的数据模型,View是用户界面,ViewModel是View和Model之间的中介。
下面我们将通过一个简单的Andr
原创
2024-05-02 03:30:24
136阅读
背景:为什么选择了MVVM公司的项目一直是以 Activity 为载体的 Android 式 MVC 架构,上手快,大多数页面代码也挺容易读的。只是某复杂业务的 Activity 会有上千行的代码,内部复杂的状态判断和异步逻辑特别多,而且原作者早已离职,每次提测都只能祈求这里不出 bug。为了重构这里的代码,引入 MVP 或 MVVM 是比较合适的方案。精简原有的逻辑也可以一定程度上增加代码的可读
转载
2023-08-24 20:45:57
84阅读
前言:相信不少伙伴在进行Android开发的时候,肯定遇见过 Activity 代码上千行的,这种代码非常难以维护,牵一发而动全身,像极了某印#国的电线杆的电线一样,网上调侃程序员修水管,越修水越多估计也是这么来的。而框架意在将这Activity中上千行代码进行功能分类,并提高相同功能的重复使用率,我们大体可将功能简单分为三种 界面代码、业务代码、逻辑代码。让各自专一的完成各自任务。各自负责区域界
转载
2024-01-15 13:57:14
245阅读
MVC、MVP、MVVM框架实现登录示例MVC描述缺点优点MVP效果图描述缺点优点代码解析视图效果图建立实体类建立实体类接口实现实体类接口设置P层建立交互接口数据绑定MVVM效果图描述代码解析导入dataBinding实体类建立viewmodelxml绑定数据视图与数据绑定 MVC描述自如其意,MVC分为三部分:M层、V层、C层。 M层:model层,主要用于逻辑处理。 V层:view层,主要指
转载
2024-04-08 19:13:06
35阅读
MVC、MVP和MVVM都是为了解决界面呈现和逻辑代码分离而出现的开发模式。MVP和MVVM都是在MVC的基础上演化而来。一、MVC模式MVC是Model-View-Controller的简称。Model:模型层,负责处理数据的加载或者存储。View:视图层,负责界面数据的展示,与用户进行交互。Controller:控制器层,负责逻辑业务的处理。MVC关系模型图在MVC里,View是可以直接访问M
转载
2023-05-30 22:03:03
145阅读
第四部分:MVVM 文章目录第四部分:MVVMMVVM的前世今生MVCMVPMVVMModelViewModelViewMVVM的不足术语表 前面的主要内容,基本只是介绍了MVVM的基础DataBinding的语法和使用。但这远远不够,下面才是本文的重头戏。Android 的关于代码的组织方式(你也可以称之为设计模式),从MVC 到MVP 再到MVVM,经历了三次重要变化。 MVVM的前世今生M
转载
2024-02-19 01:45:17
135阅读
# Android Java MVVM 源码解析
在 Android 应用开发中,MVVM(Model-View-ViewModel)是一种流行的架构模式。MVVM 通过将 UI 逻辑与业务逻辑分离,提升了代码的可维护性和可测试性。本文将带您深入理解 MVVM 以及其在 Android 开发中的实现方式,并提供相应的代码示例。
## MVVM 结构简介
在 MVVM 模式中,主要有三个组成部
原创
2024-08-12 06:54:47
101阅读
**Android进阶知识(一):MVC、MVP与MVVM模式简介**一、 MVC模式 MVC(Model View Controller)是软件架构中最常见的一种框架,简单的来说就是通过controller的控制去操作model层的数据,并且返回给view层展示,三者的关系如下图。 图1 MVC模式 MVC工作原理:当用户触发事件的时候,view层会发送指令到controller层,接着cont
转载
2023-09-26 10:27:09
54阅读
作者:苍耳叔叔前言主要介绍一下 MVC, MVP 以及 MVVM 架构,至于 MVI 后面会单独介绍。这些 MVX 的目的都是为了将业务和视图分离,松耦合,作为 Android 程序猿,大多不陌生了。一个 App 离不开 Model 和 View 这两个角色, Model 决定了 App 的数据,而 View 决定怎么向用户展示这些数据,大多框架或组件基本上都是用来处理这两者之间的交互关系的。因此
转载
2023-06-17 21:50:18
355阅读
MVP架构模式在Android设计中已经应用的比较广泛了,去年又在Android中引入了MVVM架构设计模式,相较于传统的MVC模式,这三种模式都有相同的两个元素:M: ModelV: View其中,Model主要负责业务逻辑,它和网络层和数据库打交道,并对外暴露接口。在Android中,该层应该被设计为完全独立的一层。 View层主要负责渲染显示数据。 如题目(C|P|VM),分别代表:C:
转载
2024-02-29 11:04:54
43阅读
面试的时候被问到这个问题,用过,也了解过,但是还是不够深入,总结一下。 MVC,MVP和MVVM是软件比较常用的三种软件架构,这三种架构的目的都是分离关注,避免将过多的逻辑全部堆积在一个类中,以android为例,在activity中既有UI的相关处理逻辑,又有数据获取逻辑,从而导致activity逻辑复杂不单一难以维护。为了一个应用可以更好的维护和扩展,我们需要很好的区分相关层级,要不
转载
2023-08-22 19:58:53
183阅读
概要对于mvp模式,大家都知道是由mvc演变而来的,对于MVC大家都知道M Model(用于存放实体模型与业务逻辑)V View(存放布局和资源文件)C Control(存放Activity)对于mvc中的view在Android中的功能就比较弱化了并且在Control中的activity中我们在实际开发中经常都是上千行代码,经常都是将对一些点击时间的处理和一些逻辑都放在activity中,这样就
本篇文章包含以下内容:MVVM的介绍MVVM的实践 DataBinding之layout标签的使用
DataBinding之data与variable标签的使用
DataBinding之绑定点击事件的使用MVVM是Model-View-ViewModel的简写,这个模式提供对View和View Model的双向数据绑定,使得View
Model的状态改变可以自动传递给ViewMo
转载
2024-07-20 09:31:35
20阅读