我正在构建一个使用事件观察者模式的应用程序,允许希望添加自己的功能的第三方供应商轻松扩展系统中的点。
这很有效,但它依赖于一件事:
- 我必须决定系统供应商可能希望扩展系统中的哪些点并在流程中的特定点触发事件。
供应商可能希望扩展我尚未触发事件的系统的不同部分,这是完全合理的。
这里有哪些替代方案,允许供应商从他们选择的系统中的任何点扩展系统 - 或尽可能接近该目标 - 使用类似于事件观察器的东西,即可以简单地挂接到系统中选择?最佳答案
好的,所以您需要做两件事。首先是出去寻找一些真正的客户,并与他们交谈。他们哪里需要扩展?他们比你更清楚这一点。第二件事是不提供钩子(Hook)。您可以稍后添加它们,但您必须支持您发布的任何内容,即使它没有被使用。
正如 @Holger 所说,没有办法为系统中的任何点提供任意 Hook ,而且您确实不希望这样做。这是维护的噩梦。
关于java - 事件观察者的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18916048/