簡體   English   中英

在這種情況下應使用哪種設計?

[英]Which design should be used in this scenario?

我有一個類似下面的業務邏輯,我想知道這里應該使用哪種設計模式。

基本上,我有一個工廠的輸入和數量,這些工廠創建了從相同基類派生的對象。

輸入=> factory1 =>輸出1

輸入=> factory2 =>輸出2

輸入=>事實3 =>輸出3

........

........

工廠數量各不相同。 這種邏輯將包含在一個方法中,該方法將創建Output1,Output2 ...的集合並返回它。

在這種情況下哪個是正確的設計模式?

另一個最匹配的實時示例。

我有一個文件名/模式,並且有不同的查找器。 一種用於查找與模式匹配的單詞docs,一種用於查找excel文檔。 一種用於查找與模式匹配的ppt文檔。 最后應返回所有文檔(word,xl,ppts)。

就我看來,這似乎很簡單,您可能不需要設計模式。

讓我們將此對象稱為“處理器”而不是“工廠”,以免與“工廠”模式混淆。

因此,您的代碼可能像這樣:

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;
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM