这个问题是关于体系结构的。实际上,我想知道哪些体系结构模式或解决方案允许执行以下操作。
例如,我有一个客户,客户可以在我的网站上订阅新闻。我需要一个解决方案,允许我在添加新消息时向所有订阅的客户发送通知。当然,我想在不添加额外代码的情况下自动添加新闻。
但是,这可能有很多任务。不仅在添加一些新闻时发送通知。如果有人能提出一些不是《观察家》、事件或消息来源的建议,那就太棒了
如果只有一个发布者,则观察者模式非常好。
Pub/Sub更好,因为你订阅了特定的消息,因为任何人都可以发布消息。消息可以是NewsPublished
,它包含有关正在发布的新闻项目的所有相关详细信息。
至于实现,这取决于您是在寻找进程内解决方案,还是希望两个或多个进程能够进行通信。
如果需要.NET和inprocess,我会使用控制容器的反转来查找所有订阅者。
正如建议的那样,观察者模式似乎是适合该作业的模式。
示例:http://www.dofactory.com/Patterns/PatternObserver.aspx#_self1
是的,我支持(或者更确切地说是第四个)观察者模式。
如果你碰巧在.NET下编写代码,看看强大的Rx(反应式扩展)框架吧!
根据该网站的说法,它"是一个使用可观察集合和LINQ风格的查询运算符组成异步和基于事件的程序的库。"