.net 在这个场景中应该使用哪种设计?
我有下面这样的业务逻辑,我想知道这里应该使用哪种设计模式 基本上,我有一个输入和许多工厂,这些工厂创建从同一基类派生的对象 输入=>factory1=>Output1 输入=>factory2=>Output2 输入=>Factory3=>Output3 工厂的数量各不相同。 这种逻辑将包含在一个方法中,该方法将创建Output1、Output2。。。并返回它 在这种情况下,哪种设计模式是正确的 另一个最匹配的实时示例 我有一个文件名/模式,有不同的查找程序。一个用于查找与模式匹配的word文档,一个用于查找excel文档。一个用于查找与模式匹配的ppt文档。.net 在这个场景中应该使用哪种设计?,.net,design-patterns,.net,Design Patterns,我有下面这样的业务逻辑,我想知道这里应该使用哪种设计模式 基本上,我有一个输入和许多工厂,这些工厂创建从同一基类派生的对象 输入=>factory1=>Output1 输入=>factory2=>Output2 输入=>Factory3=>Output3 工厂的数量各不相同。 这种逻辑将包含在一个方法中,该方法将创建Output1、Output2。。。并返回它 在这种情况下,哪种设计模式是正确的 另一个最匹配的实时示例 我有一个文件名/模式,有不同的查找程序。一个用于查找与模式匹配的word
最后,所有文档(word、xl、PPT)都应该返回。在我看来,这似乎相当简单,您可能不需要设计模式 让我们将此对象称为处理器而不是工厂,以避免与工厂模式混淆 因此,您的代码可以简单地如下所示:
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;
}
}
接口输入;
接口输出;
接口处理器{
输出过程(输入i);
}
主类{
列表处理器=初始化处理器();
列表过程(输入i){
列出产出=。。。;
foreach(处理器中的处理器p){
输出o=过程p(i);
产出.增加(o);
}
返回输出;
}
}