我可以使用或不使用子流设计SWF。任何人都可以解释在SWF中以子流方式设计流程的优点。请帮忙。
答案 0 :(得分:0)
我认为主要的优点是流量的模块化(如果你正在重复使用流量),SRP原则,并且能够将控制权返还给主流"推动更大交易的流程。
最好用一个例子来解释。假设您正在运行使用SWF设计的假期预订网站。
假设你有流程定义:
主要流程的参与者和(3)
下的子流程"book-vacation-flow.xml"
可以作为子流引用的单个流
"book-plane-tickets-flow.xml" (stand alone flow )
"book-hotel-flow.xml" (stand alone flow )
"book-car-rental-flow.xml" (stand alone flow )
您拥有代表用户可以购买的特定产品/交易的个人流程(即机票,酒店,汽车租赁),但您也有一个用例,用户希望将这些交易/流量合并到一个单一的"流" (即书籍休假)可能会使用所有3个流量。
因此book-vacation-flow.xml有自己的flow.xml定义来驱动"预订假期交易"但在其中你定义了(3)flow book-plane-tickets-flow.xml,book-hotel-flow.xml,book-car-rental-flow.xml作为子流定义。
此设置的优势让您可以重复使用"每个独立流作为独立流和子流。
如前所述,这样做的好处是关注点分离(SRP原则)和流程的重用能力。
还有其他一些注释:
主流的一个非常好的功能< - >子流是通过 两者之间的完全pojos,而不必绑定或使用http参数。
子流程不必是独立的流程,它们可以是私有的"至 主要来电流程,但我个人认为不值得使用 这种用例中的子流程。这只会导致混乱。只用一个 如果您计划在其他main中重用该子流功能,则为子流 流动。