假设我有一个控制台应用程序或Windows服务,并且使用带有IOC容器的依赖注入(在我的具体情况下,我使用的是Autofac)。
我的IOC容器解析的类之一是一个WorkDoer类,它有一个长期运行的DoWork(Args args)方法。当DoWork(Args args)完成时,将引发一个自定义事件(WorkDone)。在我的例子中,当带有参数的消息从消息队列中取出时,就会触发DoWork。
我也有一个通知类,我希望订阅我的WorkDone事件。
具体而言
public class Notifier
{
public void Subscribe(WorkDoer
我是否可以使用glob样式的模式将消息发布到同一个命令中的多个通道,例如Connection.GetSubscriber().Publish("room/*", "my message"),并且消息被发布到所有匹配该模式的通道上?
也许,如果我误解了Redis中的基本pub/sub模式,上述问题可能没有什么意义。我的理解是,每个Subscribe命令都在Redis服务器上建立一个通道,因此该服务器知道通道it,因此当服务器收到一个发布命令时,它应该有能力将已发布的消息“扇出”所有与glob样式模式匹配的通道。如果我错了,请改正。
另外一个问题,我想我也可以订阅多
我一直在仔细研究MVC实现和事件总线。
为什么不使用事件总线而不是观察者模式来实现MVC应用程序呢?
例如,假设我有两个类Model和View,在典型的观察者模式中是:
public class Model implements Subject { ... }
public class View implements Observer { ... }
相反,使用或任何其他事件总线的方法的好处/缺点是什么?
应该是这样的:
public class Model {
private int field = 0;
void someFunctionNowTriggerStateCh