在 MVP 中,谁应该处理导航?

2024-03-17

我相信 Presenter 是负责处理 MVP 应用程序的导航方面的人。这是真的还是有例外?


我认为视图是唯一负责屏幕导航的视图。Here https://medium.com/@nbarishok/on-navigation-in-android-mvp-d26065586dcd#.7ob2d97mo我们对这个“Android-MVP 问题”有一个很好的解释,我有两个理由这样思考:

1 - 基本上对我来说,屏幕转换只不过是视图的行为。它属于视图state。我们知道演示者必须通过视图方法来控制视图状态,但实际上是视图实现了这种转换(例如调用 startActivity)。

2 - 屏幕之间的导航有一些 Android SDK 依赖项,例如 Intents、Bundles、FragmentsManager 等...如果您想使用 MVP + Clean Architecture(强烈推荐),您“不能”在您的应用程序之间共享 Android 依赖项演示者,因为他们应该是 java 只是为了使单元测试更容易。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 MVP 中,谁应该处理导航? 的相关文章

  • Android 关于MVP的一些思考与总结

    关于MVP的概念 xff0c 或者MVP相对传统MVC的好处 xff0c 这些这里就不多讲了 xff0c 网上的资料随便一搜就是一大把 最近刚好项目重构 xff0c 参考网上一些文章之后 xff0c 结合自身的理解 xff0c 本次简单的总
  • 选择恐惧症的福音!教你认清MVC,MVP和MVVM

    相信大家对MVC xff0c MVP和MVVM都不陌生 xff0c 作为三个最耳熟能详的Android框架 xff0c 它们的应用可以是非常广泛的 xff0c 但是对于一些新手来说 xff0c 可能对于区分它们三个都有困难 xff0c 更别
  • Android MVP 详解(上)

    作者 李旺成 时间 2016年4月3日 Android MVP 详解 下 已经发布 欢迎大家提建议 MVP 在 Android 上的使用其实已经有挺长一段时间了 长到似乎有点 过时 了 目前风头正劲的是MVVM 那为什么现在还要讲 MVP
  • 如何将对象集合绑定到 Winforms 中的 DataGridView

    如果我有两个对象 即Fruit andColor 及其定义如下 public class Fruit public int FruitId get set public string Name get set public Color Co
  • 我可以说 MVP = 3 Tier Archi 吗?

    从最近几天开始 我一直在为我的新 Web 应用程序寻找最佳架构 该应用程序将使用 C 在 ASP Net 中开发 到目前为止 我只发现并研究了以下3个 三层架构 注 作者 层我的意思是逻辑层 模型视图控制器 MVC 模型视图演示者 MVP
  • 使用 PHP 的简单 MVP 示例

    我知道如何与MVC模型 但我不知道如何使用 MVP 我读到了它们之间的差异 但不知道如何实现它 区别是双重的 视图是被动的并且不知道模型 演示者 控制器 更改模型的状态 读取信息并将其传递给视图 public function showUs
  • MVC、MVP 和 MVVM 设计模式在编码 C# 方面有什么区别

    如果我们使用短语 MVC MVP 和 MVVM 设计模式之间的差异 搜索 Google 那么我们可能会得到一些讨论的 URLMVC MVP 和 MVVM 设计模式的区别理论上就像 MVP 在无法通过 dataContext 进行绑定的情况下
  • PHP 支持 MVP 模式吗?

    有很多使用 ASP NET 解释 MVP 模式的示例 但没有找到任何使用 PHP 的示例 我是 PHP 程序员 想知道在哪里可以获得 MVP 模式 PHP 示例 简短的回答是 是的 PHP 可以 Note its not exactly M
  • 存储库设计模式 - 每个 Dao 都应该有一个存储库吗?

    我的应用程序中有一些 DAO 它们访问数据库以进行 CRUD 操作 比如说新闻 天气和体育 DAO 所以我对需要多少个存储库感到困惑 我应该只使用一个存储库 例如 DataRepository 并让我保存我的数据库和所有 dao 并在其中封
  • 适配器作为演示者?或者与演示者交谈? Android 和 MVP

    我正在努力遵循 MVP 模式 然而 我对如何处理这种模式的适配器和视图持有者有一些疑问 我应该使用适配器作为演示者吗 有业务逻辑吗 或者我应该传递一个处理列表逻辑的演示者实例 然后在与适配器元素进行任何交互时调用演示者的方法 谢谢 在 An
  • GWT 2.2 MVP 与 GWT 2.1 活动场所

    我开始开发一个大型 GWT 应用程序 阅读后a lot文章和博客文章 我试图理解两者之间的区别2 2 模型 视图 呈现器 http code google com webtoolkit articles mvp architecture h
  • 如何构建 C# WinForms 模型-视图-呈现器(被动视图)程序?

    我正在设计一个具有以下基本思想的 GUI 类似于 Visual Studio 的基本外观和感觉 文件导航 控制选择器 用于选择编辑器组件中显示的内容 Editor 记录器 错误 警告 确认等 现在 我将使用 TreeView 进行文件导航
  • 在使用 MVP 模式构建的 ASP.NET Web 表单应用程序上应用依赖注入

    我正在使用 MVP 模式创建 ASP NET Web 表单应用程序 我的观点的结构是这样的 public partial class ShipperView System Web UI Page IShipperView ShipperPr
  • 使用 Dagger 2 进行 Presenter 注入

    我刚刚开始使用 Dagger 2 我在网上发现了数千个指南 每个指南都有不同的实现 我现在有点困惑 所以基本上这就是我现在写的 应用程序模块 java Module public class AppModule Application mA
  • Winforms MVP 网格事件问题

    我正在尝试为 WINFORMS 实现 MVP 模式 它是一个简单的按钮和网格 单击按钮时 网格将加载 用户可以将值填充到网格中 对于我的按钮单击事件 我有这样的事情 presenter LoadGrid 这简单明了 我的问题是 关于网格 我
  • MVP - Presenter 和服务层 - 在哪里声明服务层

    我正在通读为企业构建 Microsoft Net 解决方案我试图弄清楚有关演示者和服务层的一些事情 首先 我的 Presenter 需要调用驻留在服务层中的方法 例如initialize save 等 但是我在哪里放置对服务层的引用呢 它应
  • GWT - MVP 事件总线。创建多个处理程序

    我正在处理我继承的大型应用程序 并且遇到了一些最佳实践问题 每次用户导航到我们的客户编辑页面时 都会创建一个新的演示者并设置一个视图 有一个用于客户编辑的主演示者和一个主视图 主视图中还存在由主演示者的子演示者使用的子视图 在子演示者中 我
  • 关于 GWT 中 MVP 的问题。 (总体概述)

    你们中的任何人都可以对 MVP 模式在 GWT 应用程序中的使用给出一个很好的解释吗 我看过的任何示例 我发现很难理解实现该模式的概念 诸如这是什么之类的问题 它实现了什么 它是如何实施的 以及如何扩展它以适应未来的修改 http code
  • ASP.NET Web 窗体 - 模型视图演示器和用户控件

    我是使用 MVP 模式的新手 我只是想确保从用户控件中调用演示者的最佳方式 我的页面 aspx有主持人我的演讲者 该页面包含一个用户控件 该控件通过我从 MyPage 设置的属性接受 MyPage 的 Presenter MyUserCon
  • MVP 和 GWT 小部件之间的通信

    如果我将 MVP 模式与 GWT 结合使用 如 2009 年 Google I O 中的 GWT 架构最佳实践讨论 但已将信息分散到多个小部件中 那么应该如何填充值对象 假设我有一个 EditPersonView Presenter 一个

随机推荐

  • 根据另一个 DataFrame 选择一个 DataFrame 的列

    我试图根据另一个 DataFrame 的列选择 DataFrame 的子集 数据框看起来像这样 a b c d 0 0 1 2 3 1 4 5 6 7 2 8 9 10 11 3 12 13 14 15 a b 0 0 1 1 2 3 2
  • 在 Android 上同时与多个 BLE 设备进行稳健通信

    尽管没有记录 但使用 Android BLE api 的传统观点是 某些操作 例如读 写特性和描述符 应该一次完成一个 尽管某些设备比其他设备更宽松 但是 我不清楚此策略是否应仅适用于单个连接 还是适用于所有活动连接 我听说最好一次启动与一
  • Cython 和 Python 项目测试驱动开发和 .pyx 文件结构建议

    构建一个的最佳方式是什么python cython项目 以便我可以对驻留在其中的代码进行单元测试 pyx文件 是否可以就地对该代码进行单元测试 或者重构可以让我以另一种方式实现这一目标 我是新来的cython但有 Python TDD mo
  • EnableAutoConfiguration spring 注解如何工作?

    I am no fan of gross over abstractions And i think Spring has committed a major felony 但如果有人可以解释 自动 配置背后的算法 我这次愿意忽略它 看看s
  • 检查Python中每行的运行时间

    我已经编写了一个 Python 脚本 但运行它所花费的时间比我预期的要长得多 并且我在脚本中没有明显的候选行占用运行时间 我可以在代码中添加任何内容来检查运行每一行需要多长时间吗 非常感谢 您尝试过通过分析运行 python 吗 pytho
  • 无法在 M1 Macbook 上启动 Cloud Run 容器

    我还没有在我的 M1 Macbook 上安装 Rosetta 安装了 Docker 和所有 deps 这甚至工作了几次 但不确定是什么突然导致了这个错误 Starting to run the app using configuration
  • 反应原生动画:滚动减慢时屏幕抖动

    我在用Animated View更改标题高度 它在 ios 中运行良好 但在 android 中 当我缓慢滚动时 整个视图都在晃动 1 首先我设置状态 this state scrollY new Animated Value 0 2 内部
  • 无需用户交互即可从服务器驱动 API 文档上传

    我正在 Django 中制作应用程序 该应用程序从表单上传文件并将其发送到谷歌驱动器 所以基本上我不知道需要用户的信息或让他们在谷歌上进行身份验证 从我们使用的快速入门指南authorize url to get code但我不需要oaut
  • 用 Java 洗牌

    我还有另一项练习要做 我确实需要帮助 我什至不知道我的 isFlush 方法是否有效 因为出于某种原因 我的套牌没有洗牌和发牌 我完全陷入困境 有人可以帮助我或指出我正确的方向或其他什么吗 这是练习 练习 12 5 本练习的目标是编写一个程
  • Express 中使用 cookie 会话保持登录选项

    我想要一个 保持登录状态 选项 例如 Gmail 提供的选项 这样 用户可以决定如果他们想在之前关闭浏览器会话后打开新的浏览器会话时保持会话打开 查看我看到的 github 问题cookie session 组件不提供更新的方法maxAge
  • 需要asp.net中的作业调度程序

    我们有一个网站 需要一个调度程序来在特定时间接收通知 电子邮件 例如 如果有人在下午 5 点设置提醒参加下午 4 45 的会议 则大约会在下午 4 45 收到电子邮件 由于此站点托管在共享服务器上 因此我们无法控制服务器来运行任何 SQL
  • 将 pdf 直接发送到打印机对话框的链接

    我尝试过以下2种方法 a class print a a Print file a 又一次尝试
  • Python 中的机械化 - 提交后重定向不起作用

    我刚刚开始在 Python 中使用 mechanize 但已经遇到了一些问题 我在 StackOverflow 和 Google 上查看过 我看到人们说文档很棒 并且应该很容易让它工作 但我想我不知道如何查找该文档 因为我所有的可以找到的代
  • [NSObject:任何对象]?' Xcode 6 beta 6 中没有名为“下标”的成员错误

    我使用下面的几行代码来获取键盘在屏幕上显示时的框架 我已经注册到UIKeyboardDidShowNotification通知 func keyboardWasShown notification NSNotification var in
  • 远程 RPC 客户端已解除关联。可能是由于容器超过阈值或网络问题。检查驱动程序日志中是否有 WARN 消息

    我正在开发 5 节点集群 每个节点 7 个核心 每个节点 25 GB 我当前的执行使用 1 2GB 输入数据 我能知道为什么会出现以下错误吗 我使用 pyspark 数据框 spark 1 6 2 Stage 9487 gt 198 2 2
  • 使用 BFS 进行加权图

    我正在修改单源最短路径算法 在视频中 老师提到BFS DFS不能直接用于查找最短路径 in a 加权图 我想每个人都知道这一点 并说自己找出原因 我想知道为什么它不能用于加权图的确切原因 解释 是由于边缘的重量还是其他原因造成的 有人可以解
  • 每个用户轨道的日期范围重叠

    如何使用下面的代码验证每个用户的日期 当我以其他用户身份登录时 我无法创建具有相同日期的预订 我有 user id 引用表 users 中的 id 我希望能够使 date start 和 date end 仅对用户唯一 并且仍然能够与不同的
  • 在 ARM 模板中引用 KeyVault 机密失败,并显示“模板中未定义资源”

    我正在尝试在 Azure Web 应用程序的 AppConfig 部分中创建 KeyVault 引用 KeyVault 引用引用了 KeyVault 中存在的机密 该密钥属于不同资源组 因此模板中不存在 根据文档 https learn m
  • 制作可前后移动的可定制 LCG

    我将如何让 LCG 伪随机数生成器的类型 在两个方向上移动 我知道前进是 a x c m但我怎样才能扭转它呢 我使用这个 所以我可以将种子存储在地图中玩家的位置 并能够通过在 LCG 中向后和向前传播 就像某种随机数线 来生成它周围的东西
  • 在 MVP 中,谁应该处理导航?

    我相信 Presenter 是负责处理 MVP 应用程序的导航方面的人 这是真的还是有例外 我认为视图是唯一负责屏幕导航的视图 Here https medium com nbarishok on navigation in android