设计模式应用之使用COMPOSITE模式实现流程(四)
最近在工作的过程中,完成了一个实现动态流程的任务。因此将我的demo程序共享出来,给大家参考如何使用COMPOSITE实现流程的编写。在前面序列文章,我本来计划利用MEMENTO 解耦COMPOSITE 对象,使COMPOSITE 对象得到共用,但是在实际开发过程中,我发现这样在开发上有一定的难度,因此我没有采用这样的思路去开发。
语音流程抽象起来包括:播放语音、播放菜单、还有其他叶子操作。因此语音流程的每个用户的每一选择,就构成了一棵状态子树。而这样的状态子树,如果采用常规的子树的遍历,这样的指针指向会指向很多层。因此我在实际开发过程中,抽象出一个TRootComposit 对象。具体的就不详细介绍了,我把不涉及到机密的东东,当作一个demo拿出来给大家参考。
以下是头文件: