0

我有一个像下面这样的业务逻辑,我想知道这里应该使用哪种设计模式。

基本上我有一个输入和一些工厂,它们创建了从同一个基类派生的对象。

输入 => 工厂 1 => 输出 1

输入 => 工厂 2 => 输出 2

输入 => 工厂 3 => 输出 3

...........

...........

工厂数量不同。这种逻辑将包含在一个方法中,该方法将创建一个 Output1、Output2... 的集合并返回它。

在这种情况下,哪种设计模式是正确的?

另一个最匹配的实时示例..

我有一个文件名/模式,并且有不同的查找器。一种用于查找与模式匹配的单词文档,一种用于查找 excel 文档。一种用于查找与模式匹配的 ppt 文档。最后应返回所有 docs(word,xl,ppts)。

4

1 回答 1

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;
  }
}
于 2012-10-27T10:48:34.067 回答