我有一个情况(伪代码):决策设计模式帮助
Action a;
Object o;
if(objectIsPartOfGroup(o, "Group1"))
a = treatCaseGroup1();
if(a != indecisive)
return a;
if(objectIsPartOfGroup(o, "Group2"))
a = treatCaseGroup2();
if(a != indecisive)
return a;
if(objectIsPartOfGroup(o, "Group3"))
a = treatCaseGroup3();
if(a != indecisive)
return a;
.
.
.
,我在想,如果有这种情况适用的模式,这样我就不必重复“如果(a!=优柔寡断)返回a;“检查每一步后?我发现重复这个代码是不是很专业?它增加了很多代码行,完全没有帮助清晰,因此我觉得它很糟糕。
编辑:一个对象可以是group1和group2以及group3等的一部分......所以说一个对象是group1的一部分,并且该动作是未决定的,因为它也是group2的一部分,它将被再次处理并且再次,直到所有组都得到了治疗。最后,结果也可能是不明确的!
感谢您的帮助!
戴夫
谢谢,这将工作!我会等待看看是否有其他想法出现 – 2010-06-25 20:19:09