在我当前的项目中,我发现自己经常使用责任链模式(对我来说经常是 3 次),我想知道我是否对解决方案变得有点过度热情。具体来说,我一直在使用 Apache Commons链项目。所以,到目前为止,我对它如何将许多复杂的、可互换的应用程序逻辑简化为一个更有凝聚力和组织性的整体印象深刻。然而,该项目的一些新人似乎很难“得到它”。你有什么经验?您在实施过程中遇到了哪些问题?
到目前为止,我注意到的唯一问题是当您尝试处理需要关闭的对象时。当您完成链的执行时,将这些对象存储在您的 Context 类中会很痛苦。我能够使用过滤器而不是命令来解决这个问题,但这似乎有点不直观,因为您的关闭语句通常离对象实例化的位置很远。
无论如何,我很想听听一些对这种模式有更多经验的开发人员的想法。
提前致谢。