我有两个进程,只是在处理样式的实现上有所不同 恩。 Process1 - 处理需要通过一种方式处理的项目列表 和流程2处理需要以另一种方式处理的项目列表
我想处理一个项目列表,然后让它们通过流程1和流程2,具体取决于项目的特定属性。
然后,我希望得到每个样式中处理列表中有多少项的组合输出。
我选择使用“响应链”模式。我想知道这是不是一个好选择
Dim proc1 As New Process1
Dim proc2 as New Process2
proc1.nextProcessing(proc2)
For each itm in itmlst
proc1.ProcessItem(itm)
Next
proc1.DoSomething()
proc2.DoSomething()
--result is an object that resturns the list of items processed by that process.
Dim result1= proc1.EndPRocess()
Dim result2= proc2.EndProcess()
答案 0 :(得分:0)
我会使用自己的Composite
编写列表,并为其提供以下方法:
class Composite {
Composite filter(Filter f);
void apply(Function f);
}
您可以分离出过滤和应用函数,这些函数为您提供了更多的可扩展性选项,并且组合处理迭代。 Composite类本身可以处理应用不同过滤器的结果的报告。