【发布时间】:2016-04-06 18:32:03
【问题描述】:
我有一种情况(伪代码):
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;
.
.
.
我想知道是否有适用于这种情况的模式,这样我就不必重复“if(a != indecisive) return a;”每一步后检查?我发现一遍又一遍地重复这段代码不是很……专业?它添加了很多代码行,根本无法帮助清晰,因此我觉得它很烂。
编辑:一个对象可以是 group1 和 group2 和 group3 的一部分,等等......所以说一个对象是 group1 的一部分并且动作是不确定的,因为它也是 group2 的一部分,它将被一次又一次地对待, 直到所有组都被处理。最后,结果也可能是不确定的!
感谢您的帮助!
戴夫
【问题讨论】:
标签: design-patterns