问题标签 [mediator]

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.

0 投票
5 回答
3147 浏览

c# - 在 ViewModel 之间共享 Collection

我已经搜索过,没有任何东西可以帮助我到达我需要到达的地方。

我的问题描述:

  1. 我们有一个包含多个视图(用户控件)的对话窗口。单击下一步和返回将在此对话框中前后移动,类似于向导。

  2. 在 6 个对话框中,其中 4 个引用了相同的核心数据。例如我们会说一个 ObservableCollection

  3. 在这种情况下,我有 4 个视图模型,它们都需要引用同一个 ObservableCollection。每次我进入“向导”对话框中的新步骤时,我都不想保存然后重新加载列表。

我的问题是实现这一目标的最佳/最实用的方法是什么。

我考虑过以下几点:

  1. 静态类
  2. 单身 - ehhhh
  3. 在视图之间传递参数(尽管这很困难,因为 nextlocation 和 previouslocation 非常通用)。
  4. 中介模式?我对中介者模式的问题是我不想在视图之间“交流”。我只希望所有视图共享相同的数据源。
  5. 观察者模式?如果我使用 ObservableCollections 并实施 INotifyPropertyChanged,那么我应该不需要通知任何人更改吗?

请让我知道您可能需要帮助我解决此问题的其他信息,我很乐意提供。

我并不是真的在寻找代码示例,因为我是设计者。虽然如果代码示例可以帮助解释设计,我完全赞成。

最后,EventAggregator 不是一个选项,因为我没有使用任何框架(除非我没有正确理解 EventAggregator)。

提前致谢!!

0 投票
2 回答
11698 浏览

javascript - 是否推荐使用中介模式?

我目前正在阅读http://addyosmani.com/resources/essentialjsdesignpatterns/book/#mediatorpatternjavascript

我将中介者模式理解为某种设置发布和订阅功能的对象。

通常我正在设置已经提供subscribe()方法publish()的对象。具体对象扩展了这个基础对象,因此subscribe()总是publish()注册为原型属性。

据我了解,中介者模式用于将发布订阅方法添加到对象。

这种做法有什么好处?提供具有发布和订阅功能的基础对象不是比在构造时设置中介器更好的做法吗?

还是我对中介模式的理解有误?

0 投票
1 回答
1259 浏览

c# - 包含使用 c# 的中介的单元测试方法

我目前正在对一个大学注册系统进行单元测试,而当我要测试的方法包含一个将与大学联系并担任调解员的调解员时,它总是会出错。有没有关于如何测试这种方法的想法?

方法是:

0 投票
1 回答
927 浏览

wso2 - Wso2 中介中的自定义错误处理程序

在我的顺序中介中,我需要对输入值处理一些逻辑,并基于此决定是调用 Web 服务还是返回故障。我已将序列定义如下

问题是默认情况下 web 服务总是将故障信息传递给 web 服务。我如何做到以下几点 1. Incase 在 Mediator 中引发自定义异常,soap 错误将被抛出回 web 服务客户端。2.如果所有信息都正确,则Web服务被正确调用并且客户端得到正确的响应。

0 投票
2 回答
941 浏览

java - 使用 JavaFx 的中介

我正在尝试在我的调解器上使用设计模式。为了让我的 gui 分开,而不是将所有组件放在一个类中。

例如,您需要在使用其他 GUI 组件之前登录程序。因此,创建一个 Mediator 类,该类创建每个 GUI 元素的实例,每个 GUI 类(Login、addUser、ShowUser)在更改窗口时可以引用该实例。

我收到一个异常消息:线程“主”java.lang.IllegalStateException 中的异常:不在 FX 应用程序线程上;当前线程 = 主线程

如果我想使用调解器,我该如何解决?

更新

0 投票
1 回答
663 浏览

unit-testing - Robotlegs 2 中的单元测试中介和视图

我正在学习robotlegs框架,但是这个问题也是我想到的一般性。

我有一个 Mediator 类,它侦听 View 中按钮上的事件,并在该事件上调度一个包含 VO 的信号,该信号包含 View 中两个 TextField 对象的属性。

下面是中介类。

button 是一个私有变量,在 View 中只有 getter 而没有 setter。

我的问题是,我将如何对这门课进行单元测试?1. 检查事件是否发生,Signal 正在被分派... 2. 当信号被分派时,它是否包含正确的 VO

我知道我需要使用 Mock,并且我正在使用 mockolate,但我正在转圈,因为我不知道如何从视图类的按钮中模拟已调度的事件?

感谢帮助

0 投票
1 回答
329 浏览

javascript - 现在可以将 0.9.9 中的 Backbone 对象用作中介替代品吗?

我一直在阅读Backbone Fundamentals并且一直计划在一个新项目中使用中介和外观模式,但是在阅读时我想知道为什么不能只使用应用程序主路由器对象或任何扩展的对象Backbone.Events 作为中介,而不是实现书中概述的订阅和发布方法。

现在 Backbone 0.9.9 的文档明确提到使用 Backbone 对象(现在从 Backbone.Events 扩展)作为全局事件总线,我对此更加好奇。谁能澄清这是否是一个不错的选择,如果不是,为什么?

0 投票
2 回答
2863 浏览

sequence - 从 wso2 ESB 中的消息中删除 SOAP 包装器

我试图通过 WSO2esb 调用 Web 服务。我的 Web 服务只接受这样的肥皂消息。

但问题是当我将输入消息读取到 esb 时,esb 会像这样向我的 meaasage 添加一个额外的包装器

我认为可以在调用端点之前使用“应用程序/XML”消息格式化程序来完成。但问题是我不知道如何调用“应用程序/XML”消息格式化程序以及在哪里使用它。* * 请各位大侠帮帮我,谢谢

已编辑

我认为添加我的代理服务配置会有所帮助。

在这我没有使用默认输出序列。而不是我使用名为“currencyFileWriter”的序列,它负责将文件写入输出目录。

这是我的代理服务

tihs 是我的 CurrencyFilewriter 序列

0 投票
0 回答
170 浏览

javascript - 用于不同进程使用的多个 xmlhttprequest 的良好模式

我想知道当您可以有多个 xmlhttprequests 时使用什么是一个好的模式,这些请求是不同进程的一部分,例如(检查登录、获取工具提示和显示、显示子记录/打开详细信息)。

到目前为止,您对我的代码的输入非常受欢迎,因此还有一些关于异步处理流程的好文章可供参考。

到目前为止,这是我尝试使用调解器并尝试定义要由调解器触发并由工作人员为某个进程启动的事件序列

0 投票
1 回答
124 浏览

wso2esb - ESB 4.6.0。路由器中介

我在 ESB 4.0.0 中使用了路由器中介。当我们将 ESB 升级到 4.6.0 时,路由器中介器不起作用。并且不存在于调解员列表中。

ESB 4.6.0 中是否仍然存在路由器中介?