我正在尝试了解Uber Cadence的子工作流程的用例。与将工作流程简单地拆分为功能相比,子工作流程的优势是什么?我有一个相当复杂的工作流程,正在考虑将其拆分为多个子工作流程,但是我不确定这样做的利弊。
答案 0 :(得分:2)
子工作流程与在单个工作流程中并置所有应用程序逻辑的主要限制是缺少共享状态。父母和孩子只能通过异步信号进行通信。但是,如果它们之间存在紧密的联系,则使用单个工作流程并仅依赖共享对象状态可能会更简单。
如果您的问题在已执行活动和已处理信号的数量方面受到限制,我个人建议从单个工作流程实施开始。它比多个异步通信的工作流简单。
还经常监督工作流不仅是功能,还可以在其中使用OO的全部功能。使用结构,接口和其他OO技术将逻辑分解为更易于管理的抽象。