问题标签 [mvp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 带有 Javascript 框架的 MVP 模式?
有没有人能够使用任何 javascript 框架实现 MVP 模型?我无法弄清楚如何让演示者 -> 查看从服务器代码到 javascript 的反转。我有一些想法,但有点老套,想看看其他人在做什么。
tdd - 在 Presenter 类的构造函数中包含一长串参数是否正常?
警告首字母缩略词超载即将来临!!!我正在使用 MVP 被动视图模式和 DI 进行 TDD 和 DDD。当我编写每个新测试时,我发现自己在依赖项之后向我的演示者类的构造函数添加依赖项。大多数是域对象。尽管我最终可能会迁移到 IoC 容器,但我正在使用工厂进行依赖注入。
当使用构造函数注入(与属性注入相反)时,很容易看到你的依赖项在哪里。大量的依赖通常表明一个类有太多的责任,但在演示者的情况下,我看不出如何避免这种情况。
我曾想过将所有域对象包装到一个“域”类中,该类将充当中间人,但我有这种直觉,我只是在移动问题而不是修复它。
我错过了什么还是这是不可避免的?
delphi - MVP:除了视图和模型之外的其他构造函数参数?
我正在尝试用 Delphi 2009 实现一个轻量级的 mvp 框架。
视图是被动的,但支持数据绑定(通过接口属性)。
我面临着一个两难境地:我有几个非常相似的视图/演示者/模型三合会,即:
订单表单和客户表单 = 行为和逻辑相同,但数据绑定的数据源不同,表单标题也不同。数据源是我所有模型的公共属性,所以这不是问题,要设置表单标题,我不得不在我的演示者InitView
方法中对其进行硬编码
一切都很好,但我的情况是我有几个非常相似的简单 mvp 三元组。我想重构它,但在这种情况下,我必须将一些参数传递给 mvp 构造函数。
到目前为止,我正在这样做:
- 创建视图
- 创建模型
- 在构造函数中创建演示者并注入模型和视图
事实上,我面临着一个选择:
- 有一些非常通用的视图/演示者,像那样使用它们,但在构造函数中注入 1 或 2 个参数
- 拥有一些视图/演示者超类,并从中派生我所有类似的视图/演示者,并在覆盖的方法中设置一些特定值。
你能给我一些提示/建议吗?
(对不起,如果我不是很清楚)
c# - 如何以 MVP 模式将 UserControl 附加到表单?
我正在尝试使用 MVP 模式创建一种主/详细 UI。我有通常的嫌疑人:
我还有一个 UserControl,它也是它自己的 MVP 三元组的视图:
MainPresenter 创建了 SubPresenter 的实例,而 SubPresenter 又创建了 SubView 的实例。我的问题是视图不包含对彼此的引用,甚至不知道彼此存在。他们只知道他们自己的演示者,但我想将一个用户控件视图附加到另一个表单视图。这是否可以做到并且仍然保持每个视图对彼此的无知?
到目前为止,所有视图都将每个演示者所需的属性公开为系统类型,因此如果 ListBox 更改为 ComboBox 或 RadioGroup,则演示者不会受到影响。如果可能的话,我想保持这种方式,但如果我别无选择,我愿意打破这种模式。
我这样做的原因是 MainView 向用户展示了一组对象。每个对象可以是几个(超过 50 个)不同的类之一。所有人都将实现一个通用接口,但用于操作每个对象的 UI 将随底层类的不同而不同。
顺便说一句,这是一个针对 .NET 2.0 的 Winforms 应用程序(尽管它被编译为 C# 3.0)
asp.net-mvc - MVC 优于 MVP 的优势
可能的重复:
什么是 MVP 和 MVC,有什么区别?
mvc 和 mvp 模式
伙计们,
与 MVP 相比,使用 MVC 有哪些好处?我喜欢我不必为 MVP 使用框架,并且可以通过接口和类来实现。我仍然得到 MVC 所具有的关注点分离,并且我得到了单元测试。使用 MVC 而不是 MVP 有什么好处?
c# - 为什么我不能从视图的演示者调用我的视图代码隐藏中的方法?
这是我的观点的代码隐藏:
但是为什么我不能从视图的演示者访问方法“BeforeLoad()”?
model-view-controller - 您对构建 GWT 应用程序有什么建议?MVC、MVP 或自定义消息传递解决方案?
我刚刚为一个客户启动了一个新的 GWT 项目,我很想听听人们对各种 GWT MVC 架构的体验。在最近的一个项目中,我使用了GXT MVC以及自定义消息传递解决方案(基于Appcelerator 的 MQ)。GXT MVC 工作正常,但对于 GWT 来说似乎有点过头了,而且很难处理浏览器历史记录。我听说过PureMVC和GWTiger,但从未使用过它们。我们的自定义 MQ 解决方案运行良好,但很难使用 JUnit 测试组件。
此外,我听说 Google Wave(一个 GWT 应用程序)是使用 Model-View-Presenter 模式编写的。最近发布了一个示例 MVP 应用程序,但是查看代码,它似乎并不那么直观。
如果您正在构建一个新的 GWT 应用程序,您会使用哪种架构?你选择的优缺点是什么?
谢谢,
马特
c# - 如何通过我的 Presenter 的 x:Name 访问我的视图元素?
我的演示者定义了自己的观点:
在视图中,我有一个带有 x:Name="MainTabControl"的元素:
如何像在后面的代码中那样访问此元素,如下所示:
wpf - 在 XAML 中定义视图/演示者对的语法是什么?
为什么当我以这种方式定义具有数据上下文的视图时:
我的 MessagePresenter 没有运行它的构造函数?
在 XAML 中定义这样的视图/演示者对的语法是什么?