我有一个如下的业务逻辑,我想知道应该在这里使用哪种设计模式。
基本上我有一个输入和工厂数量,它们创建从同一基类派生的对象。
输入=> factory1 =>输出1
输入=> factory2 => OUTPUT2
输入=> factoty3 => OUTPUT3
........
........
工厂数量各不相同。 这种逻辑将被包含在一个方法中,该方法将创建一个Output1,Output2的集合......并返回它。
这种情况下哪种设计模式正确?
另一个最匹配的实时示例..
我有一个文件名/模式,有不同的Finder。一个用于查找与模式匹配的单词docs,一个用于查找excel文档。一个用于查找与模式匹配的ppt文档。 最后,应返回所有文档(word,xl,ppts)。
答案 0 :(得分:0)
看起来相当简单,你可能不需要设计模式。
让我们将此对象称为处理器而不是工厂,以免与工厂模式混淆。
所以你的代码可能就像这样:
interface Input;
interface Output;
interface Processor {
Output process (Input i);
}
MainClass {
List<Processor> processors = initializeProcessors();
List<Output> process(Input i) {
List<Output> outputs = ...;
foreach (Processor p in processors) {
Output o = p.process(i);
outputs.add(o);
}
return outputs;
}
}