2012-10-27 233 views
0

我有一個像下面這樣的業務邏輯,我想知道這裏應該使用哪種設計模式。在這種情況下應該使用哪種設計?

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

輸入=> FACTORY1 =>輸出1

輸入=> FACTORY2 =>輸出2

輸入=> factoty3 =>輸出3

........

。 .......

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

這是哪種設計模式?

另一個最匹配的實時例子..

我有一個文件名/模式,有不同的發現者。一個用於查找匹配模式的單詞文檔,一個用於查找excel文檔。一個用於查找匹配模式的ppt文檔。 最後應該返回所有文檔(word,xl,ppts)。

回答

0

看起來相當簡單,因爲我看到它,你可能不需要設計模式。

我們可以稱此對象爲Processor而不是Factory,以免與Factory模式混淆。

所以,你的代碼可能是簡單地這樣的:

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; 
    } 
} 
相關問題