Android MVP是安卓开发中一个经典的话题,当项目较大、参与的开发人员较多,MVP的优势就体现出来了。...系列文章 Android组件化-基础框架搭建 Android组件化-组件间通信BRouter Android组件化-风格统一&主题变色 Android组件化-MVP设计模式 一、经典的MVP 经典的意思...,就是又老又香 ^-^ 1.1 一句话MVP 提到Android MVP(Model-View-Presenter)就会想到MVC(Model-View-Controller),C就是Web开发中经常提到的...MVP核心思想: MVP把Activity中的UI逻辑抽象成View接口,把业务逻辑抽象成Presenter接口,Model类还是原来的Model。 1.2 MVP图解 一图胜千言: ?...Modulize项目使用MVP作为基本的开发框架(以登录为例)。
android MVP 架构思路 概念 mvp是一个新的android开发架构,在之前的mvc的基础上进行修改,目标是使得逻辑和显示解耦,达到模块化。...缺点 正是因为使用了接口来解耦模块之间的关联,因此会出现接口类增加,可以适当的使用MVP模式,在一些很简单的逻辑业务里面,可以不采用MVP。...这个开发架构,在慢慢演变,出现了一种思路,就是将Model继续分解,出来一个管理Model的DataManager,对Model进行统一管理。...下来为了更好地理解MVP的思路,我们看下官方的MVP demo 地址如下: https://github.com/googlesamples/android-architecture/tree/todo-mvp
GitHub地址:ProjectPatternStudy 基本Android项目都采用MVC、MVP、MVVM架构,个人认为软件架构没有绝对的优劣之分,大家都各有利弊。...MVP-databinding:是使用MVP架构,但是布局使用databinding设置值,也是行之有效的一种,也可以满足你的需求。...MVC Model-View-Controller,最常见的软件架构之一。 视图(View):用户界面。...MVP MVP 模式将 Controller 改名为 Presenter,同时改变了通信方向。...MVP-databinding 基本实现了MVC,MVP,MVVM后,我发现它们各自有各自的优缺点。 MVC:简单,单一页面可以实现。但是不利于复杂页面。 MVP:解耦,结构清晰。
作者博客 http://www.jianshu.com/u/cd0fe10b01d2 文章目录 前言 文件目录 基本的Activity里面的MVP架构 数据层架构 关于测试用例 1 前言 ?...或者你已经看过了google官方相关的MVP样例。...Todo-mvp的样例,其实是一个简单的记事App。 2 文件目录 从文件目录我们很简单的看 ? addedittask:编辑记事界面 ? data:数据架构设计 ?...3 基本的Activity里面的MVP架构 请认真观看官网的这张架构图 ?...图示中非常清楚的说明了MVP的基础架构,Presenter和View之间可以相互操作,数据交流,Model(模块)此处是离开Activity的全部图示都算是Model数据层,可以看到,其实通过一个REPOSITORY
前言 关于架构的文章,博主很早就想写了,虽说最近比较流行MVVM,但是MVP以及MVC也没有过时之说,最主要还是要根据业务来选择合适的架构。...2.什么是MVP MVP(Model View Presenter)是MVC的演化版本,MVP的角色定义分别为: Presenter 作为View和Model的沟通的桥梁,它从Model层检索数据后返回给...在MVP里,Presenter完全把Model和View进行了分离,主要的程序逻辑在Presenter里实现。...4.MVP的优缺点 优点 降低耦合度,实现了Model和View真正的完全分离。 模块职责划分明显,层次清晰。...5.总结 好了,MVP的例子就讲到这,其实还有很多种方式来实现MVP,在这里我也只是讲了一个最基础的方式,但是万变不离其中。
项目说明 项目目的是通过展示各种架构app的不同方式来帮助开发者解决架构问题。项目中通过不同的架构概念及方式实现了功能相同的app。你可以用示例来当做参考,或是干脆拿来当做创建app项目的基础。...项目中,希望大家能把关注点集中到代码结构、整体架构、可测试性、可维护性这四个方面。当然实现app有很多种方式,千万不要把它当做定式。 目前已经完成的示例有: todo-mvp:mvp基础架构示例。...todo-mvp-loaders:基于todo-mvp,获取数据使用了Loaders。 todo-mvp-databinding:基于todo-mvp,使用了数据绑定组件。...dev-todo-mvp-clean:基于todo-mvp, 使用了Clean架构的概念。 dev-todo-mvp-dagger:基于todo-mvp,使用了Dagger2进行依赖注入。...),重点是代码结构,整体架构、可测试性和可维护性。
相信大家在网上看过关于MVP架构的博客数不胜数,至于MVP到底是什么,也不需要我再从百度百科复制一遍了,通俗的说MVP就是解决Model和View的耦合,没有使用架构的代码就是一个Activity里处理了...我们非用不可吗,MVP可以把"功能"抽离出来,因为一个项目中会出现很多页面的某个功能是相似的,这就代表我们不用架构的话,重复的代码会大量的出现在我们的项目中,这不符合单一原则,最后引用一下大佬的总结,“...mvp最关键的点就是把Activity中的ui逻辑抽象成view接口,把业务逻辑抽象成presenter接口,model还是数据模型。...架构是对客观不足的妥协,规范是对主观不足的妥协。”...博客总结修改的,也是自己在项目中用的,架构比较简单、简陋,但是对于小项目也够用了,也没打算用MVP的开源框架,全自己手写,这里解释下为什么有抽象基类Presenter,因为所有的Presenter都要判断
概述 本方案提出一套 最小可行、可扩展、可审计 的 AI 驱动 OPS Agent 架构,通过 LLM、规则引擎、工具调用三者协同,驱动 MAPE-K 闭环: Perceive(检查) → Analyze...架构总览 关键路径:Sensor → Analyst → Planner → Gatekeeper → Executor → Librarian → Orchestrator 数据平面:OpenObserve...关键组件设计 模块化设计,插件化适配器,统一 CloudEvents 协议。...MVP 范围 接入 OTel、Prom、Loki → OO PG 模型落地:metric_1m、service_call_5m、event_envelope 统一 Plan DSL & OpenAPI...Plan: Rightsizing(降配/实例族切换) Scale-to-zero 非峰服务 存储分层(热/温/冷)+ 日志保留期/采样率下调 Spot 混池 + 关键组件反亲和 验证:SLO 不破;
作者博客 http://www.jianshu.com/u/cd0fe10b01d2 文章目录 前言 文件目录 事件调度流程 总结 1 前言 第一篇「跟着google学习mvp架构」介绍的Todo-mvp...这一节是要介绍含有域名层的MVP架构 todo-mvp-clean ? 我们可以看到它比基本的MVP架构其中添加了一层新的Domain Layer层。...当然需要做成异步任务的,所以我们需要创建线程池,UseCaseThreadPoolScheduler就是自定义的线程池调度类 3 事件调度流程 在其他资料里找到clean架构一个deleteTask的一个时序图...然后DeleteTask里面可以看到有一些MVP架构的taskRepository的操作,覆写了excuteUseCase方法,然后还需要继承RequestValues和ResponseValue创建两个静态的类...不知道大家是否知道这里Clean架构运用了一种设计方式? 这里其用了命令模式,通过对不同命令封装统一的excute的方式来替换,关于命令模式大家可以查看一下HeadFirst-设计模式。
【翻译】MVP(SC),MVP(PV),PM,MVVM 和 MVC 表现模式架构对比 翻译 CodeProject 上的一篇文章,对常见的几种表现模式 (Presentation patterns) 进行了说明...同步 (Synchronization) : 用户界面通常需要和业务组件协作,因此用户界面需要在界面元素与业务对象之间同步数据,如果用户界面包含的同步任务越多,则用户界面越复杂。...L 用户界面逻辑 S 用户界面的状态 M 业务组件或业务对象 SC 监视控制器 (Supervising controller) PV 被动视图 (Passive view) PM 表现模型 (Passive
在上一篇我已经介绍了MVP的概念,还有对Google官方的示例进行了讲解。请移步:Android架构之路-三步实现MVP架构(上)。本文我将带领大家一起架构MVP。 ?...1 MVP项目分包 对于项目分包,有的人喜欢根据功能分包,也有人喜欢根据组件或者模块进行分包。分包原则:使得项目结构清晰,功能明确,便于查询与后期维护。...8、presenter:就是MVP中的P,俗称媒介。 9、ui:MVP中的V,我把adapter(适配器)和widget(自定义View)也放在这个包。 10、utils:存放一些开发中的工具类。...到此为止,MVP架构已经完成了,是不是很简单。这个是最基础的MVP架构,后面我也会结合Clean思想,进行重新架构。...敬请期待哦~ 3、总结 在这个架构设计中,也存在在一些不足,比如: 1、在构造presenter的时候,传进去的Context有可能会出现内存泄漏,我现在解决的方法是传getApplicationContext
首先,MVP是什么? 哪种架构才是最好的,MVC,MVVM还是MVP? MVP的利与弊 Show me the code!!!...顺便提一下,我于上周在当地的一个研讨会上对MVP架构进行了相关演讲。这篇文章与当时的演讲内容相差无几。...当然,远不止这三种架构模式。而且任何一种模式都不可能是银弹,他们只是架构模式之一,不是解决问题的唯一途径。这些只是方法、手段而不是目的、目标。 利与弊 OK,让我们回到MVP架构上。...刚刚我们了解了什么是MVP,讨论了MVP以及其它热门架构,并且介绍了MVC,MVP和MVVM三者间的不同。...译文) - Uncle Bob 这篇文章由Uncle Bob撰写,描述了依赖规则的样子和它们之间的组件是如何工作的。
架构模式 描述 组件 MVC(Model-View-Controller) MVC 将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。...1.2 通俗讲解 好的,我来用最简单的方式来解释这三种架构模式的区别:MVC、MVP和MVVM。这三种架构都是用来组织和分离应用程序中的代码,但它们各有侧重点。...数据绑定 MVP 架构与 MVC 架构相比,其主要改进之处在于? A. 引入了服务层 B. 控制器(Controller)被替换为表示器(Presenter) C....MVP 架构与 MVC 架构的主要区别在于,MVP 中的控制器(Controller)被表示器(Presenter)替换,以降低视图和模型之间的耦合并简化测试。 答案为 A。...在软件开发中,使用 MVC、MVP 或 MVVM 架构的主要目的是为了分离关注点,通过将应用程序分解为不同的组件,简化了测试和维护工作,从而提高开发效率和应用质量。
我们都知道要学一个新东西,我们都会先看官方说明,所以我讲带领大家一起解读Google官方MVP示例。 2.解读Google官方MVP 已完成的示例有: todo-mvp :mvp基础架构。...todo-mvp-loaders :基于todo-mvp,获取数据使用Loaders。 todo-mvp-databinding:基于todo-mvp,使用数据绑定组件。...dev-todo-mvp-clean:基于todo-mvp, 采用Clean架构的概念。 dev-todo-mvp-dagger:基于todo-mvp,使用Dagger2进行依赖注入。...后面我将带领大家一起架构MVP的时候,解决该问题。...我们对Google官方示例解读完了,关键的事来了,我们要怎么架构一个属于自己的MVP。就让我手把手教大家三步架构MVP。持续关注下篇继续介绍。
一、AI 讲解 MVP(Model-View-Presenter)是一种软件架构模式,主要用于构建用户界面。...组件 MVP中的角色 描述 Model 同MVC 负责存储数据状态,业务逻辑,和数据库或其他持久化存储机制之间的交互。...Controller MVP和MVC架构模式中都包含哪个组件? A. Presenter B. Controller C. View D....Controller MVP模式的Presenter组件主要负责什么? A. 数据存储 B. 界面布局 C. 业务逻辑处理 D. 网络通信 如何描述MVP模式中的View组件? A....在MVP模式中,View负责展示数据和更新用户界面。 答案:C. View。 MVP和MVC架构模式中都包含View组件,负责用户界面的展示。 答案:D. 通过接口。
下面自己尝试进行一个简单的mvp框架的编写 首先是一个登陆画面 Model层: public interface IModel { //一个接口 boolean...findViewById(R.id.idEditText); pwdEditText= (EditText) findViewById(R.id.pwdEditText); } } 以上就是一个简单的登陆mvp...架构的实现
关于MVC、MVP、MVVM这几种架构方式的理解。 引言 前人种树,后人乘凉。...关于MVC、MVP、MVVM这几种架构方式的理解,前辈们写了很多的解答,我结合几篇好文,总结了以下一点点内容。 ...软件的架构方式有很多种,从最开始的MVC模式,到MVP,然后到现在的MVVM,在不断的演化过程中其核心的思想就是降低各组件之间的耦合度,使得数据的流向更加的清晰明了。...缺点 目前这种架构方式的实现方式比较不完善规范 MVP MVP定义 接着是 MVP,MVP 一样也是职责分明,且 Model 与 View 分离的架构,但是这个 P (Presenter) 和 ViewModel...,M 层则可以类似 MVVM 的架构,当 V (组件) 有数据的异动时,VM 即可自动侦测到并更新 Model (数据库)。
第三章:MVP(Model-View-Presenter)——解耦的极致追求MVP通过引入Presenter彻底切断View与Model的直接联系,实现“被动视图”理念。...1.核心组件与交互流View:由Activity/Fragment实现的接口,仅暴露UI操作方法(如showLoading()、updateList())。...1.核心组件与响应式流ViewModel:继承androidx.lifecycle.ViewModel,持有LiveData/StateFlow封装的UI状态。...MVC教会我们“分层”,MVP教会我们“解耦”,MVVM教会我们“响应式”,MVI教会我们“状态即真理”。站在2025年,我们不再争论“用MVP还是MVVM”,而是思考:如何设计不可变的状态模型?...结语:理解MVC、MVP、MVVM,不是为了怀旧,而是为了看清——所有架构的本质,都是对“复杂性”的驯服。愿你在未来的代码中,始终握紧这把名为“关注点分离”的罗盘。
todo-mvp-loaders :基于todo-mvp,获取数据使用Loaders。 todo-mvp-databinding:基于todo-mvp,使用数据绑定组件。...dev-todo-mvp-clean:基于todo-mvp, 采用Clean架构的概念。 dev-todo-mvp-dagger:基于todo-mvp,使用Dagger2进行依赖注入。...后面我将带领大家一起架构MVP的时候,解决该问题。...用一张图来看它们的关系: 2-5 关系图 我们对Google官方示例解读完了,关键的事来了,我们要怎么架构一个属于自己的MVP。就让我手把手教大家三步架构MVP。...Android架构之路--三步实现MVP架构(基础篇-下) 参考: http://www.jianshu.com/p/389c9ae1a82c