我有一些条件,例如-
List globalList = new ArrayList();
if(X.isExists)
globalList(new XBasedClass());
if(Y.isExists && Z.isExists)
globalList(new ZYBasedClass());
else if(Y.isExists || Z.isExists)
globalList(new CommonBasedClass());
if(N.isExists)
....
首先我想到了使用State Pattern,但我意识到对于每个条件我都需要声明类,并且我想限制类的数量。
其次,我想到了使用装饰器模式,但再次需要进行上述条件检查,如果需要,那么上述循环是否会产生任何问题。
我的条件只需要在 List 中添加新类,没有别的,即使将来条件数量增加,即使工作将保持不变,即更新 List。
所以我用一个静态方法创建了一个私有类,它只是验证条件并相应地更新列表。
有没有更好的推荐设计来实现它