- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我们一直在使用 MVP 模式和 Winforms,并取得了相当大的成功。然而,关于 MVP 总是弹出一个问题:
对于演示者来说,什么是好的粒度?
我的意思是:对于 Winforms,细粒度通常适用于用户控件。这样,在设计更复杂的 GUI 时,很容易重用用户控件并将它们用作构建 block 。但是,与演示者具有相同的(精细)粒度似乎是一个问题。
一方面,粗粒度的演示者阻碍了使用“插件”控件的能力,并且它有点违反 DRY 原则:多个演示者通常需要实现相同的逻辑(填充例如,客户列表),它由多个更复杂的控件使用。
另一方面,细粒度呈现器似乎限制了在不同情况下重用控件的能力。例如,编辑 View 有时可能需要立即保存客户;有时它需要将它链接到其他东西;有时只是需要验证它;等等。它通常取决于更复杂的控制。但也有相当多的共同行为。
请注意,在这两种情况下,1-presenter-1-view 都是可以实现的。什么被认为是“1 View ”更改。
通常认为使用 MVP 和 Winforms 的演示者粒度的最佳实践是什么?
免责声明:我们主要使用监督 Controller ,但我认为它也适用于被动 View 。也很抱歉问了这么长的问题。
最佳答案
我们对所有客户都使用 MVP,这绝对是不止一次出现的对话。我们的类和演示者背后的代码应该有多干净?话虽如此,我们还是选择了使用粗粒度的 Presenter 方法。基本上,每个表单都有自己的呈现器,并且只会使用其 View 获取和设置特定表单上任何控件的属性。填充控件(例如调用数据库以填充组合框)位于公共(public)服务类中。用户输入数据的任何验证都位于 BO 类中,可以由任何和/或所有演示者重复使用。我希望这会有所帮助。
关于c# - MVP 和 Presenter 粒度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1636601/
我有 2 个事实表,每个表都有一个度量组,生产和生产订单。生产具有较低粒度的生产信息(在组件级别)生产订单具有较高级别的信息(具有抬头数量等的订单级别)。 我在 productionorderid 的
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 9年前关闭。 Improve this q
我第一次尝试了解 Akka/Actors,并且对每个 Actor 职责的粒度有点困惑。 在我的应用程序中,有可以使用 WidgetRegistrar 注册/取消注册的 Widget。要向 Regist
我们一直在使用 MVP 模式和 Winforms,并取得了相当大的成功。然而,关于 MVP 总是弹出一个问题: 对于演示者来说,什么是好的粒度? 我的意思是:对于 Winforms,细粒度通常适用于用
我通常使用 git add -p 添加更改,而且很多时候有几个代码块的大块头,由空行分隔。 但是,git 不会进一步拆分 大块头,我不得不求助于手动编辑。 如何增加 hunk 的粒度,以便每个代码块都
例如,我看到 dumps.wikimedia.org/other/pagecounts-raw/,但那里没有特定国家/地区的数据... 最佳答案 据我所知,没有。出于明显的隐私原因,发布的页面查看统计
JavaScript 的源映射似乎通常不比 token 粒度更精细。 例如,identity-map uses token granularity . 我知道我看过其他例子,但不记得在哪里。 为什么我
我有这些目录: ./Tools ./ook/Tools. 我在 setup.cfg 中的 py.test 的 norecursedirs 选项中添加了 Tools。正如预期的那样,当 py.test
我正在使用这个 Accelerometer graph来自 Apple 并尝试转换他们的 G-force 代码以计算 +/- 128。 下图显示标签中的 x、y、z 值与图表上的输出不匹配:(请注意,
此问题围绕 Android 应用程序的架构展开。 在使用 LifeCycle 组件 ViewModel 时,最好是每个 fragment 一个 ViewModel 还是订阅 fragment 的父 A
我是一名优秀的程序员,十分优秀!