java - 事件观察者的替代方案

标签 java events design-patterns observer-pattern

我正在构建一个使用事件观察者模式的应用程序,允许希望添加自己的功能的第三方供应商轻松扩展系统中的点。

这很有效,但它依赖于一件事:

  • 我必须决定系统供应商可能希望扩展系统中的哪些点并在流程中的特定点触发事件。

供应商可能希望扩展我尚未触发事件的系统的不同部分,这是完全合理的。

这里有哪些替代方案,允许供应商从他们选择的系统中的任何点扩展系统 - 或尽可能接近该目标 - 使用类似于事件观察器的东西,即可以简单地挂接到系统中选择?

最佳答案

好的,所以您需要做两件事。首先是出去寻找一些真正的客户,并与他们交谈。他们哪里需要扩展?他们比你更清楚这一点。第二件事是不提供钩子(Hook)。您可以稍后添加它们,但您必须支持您发布的任何内容,即使它没有被使用。

正如 @Holger 所说,没有办法为系统中的任何点提供任意 Hook ,而且您确实不希望这样做。这是维护的噩梦。

关于java - 事件观察者的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18916048/

相关文章:

java - 批处理脚本一次运行多个 Jar 文件

java - 为每次迭代生成不同的日期

java - Java 中是否有等效的字段集(HTML)?

java - 选择 "tab"时执行操作

c# - 非虚拟接口(interface) (NVI) 惯用法在 C# 中是否与在 C++ 中一样有用?

java - 制作绘图应用程序的屏幕截图 + 绘制 2D 形状的轮廓

c# - 隐藏 ProgressChanged 事件

javascript - Paul Kinzett 的 Toolbar.js 事件处理

java - 在 hibernate/jpa 最佳实践问题中将分离的或新的实体与现有实体合并

java - 是否以及如何使用复合模式(GoF)