作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我们需要构建一个解决方案来处理销售订单。处理是连续进行的:每个步骤负责特定的任务:检查客户是否有信用,检查所需元素是否有库存等。
我们想到使用 chain of responsibility pattern .
我找到了 this old but very valuable article .它首先将 CoR 与模板模式进行比较。由于我们不关心耦合,因此它们似乎都有效。
有什么我应该注意的缺点(或陷阱等)吗?
最佳答案
这并不是一个很好的选择:责任链模式是关于委派早期步骤无法处理的任务。
在您的情况下,您希望应用每个 步骤,因此 CoR 并不真正适用。
您真正想要的是某种业务流程引擎,例如jBPM .流程引擎旨在准确处理这种情况,并为您提供许多在手动解决方案中难以实现的功能,例如:
基本上,这是我建议不要重新发明轮子的情况之一......
关于java - 责任链 [GoF] 缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12188705/
理想情况下,Spring MVC 应用程序中的 Controller 必须接收请求、将请求发送到 API、将(调用的)结果加载到模型(以便 View 随后呈现它)并转发到 View 。他们不应该再做了
我是一名优秀的程序员,十分优秀!