1
我試圖讓這個問題的更好的模式/技術:設計模式
我有一些一套標準枚舉說X,Y,Z和我應該產生不同的輸出的過程/基於給定標準的給定組合的結果。
的組合被定義爲一組規則,例如:
rule_B = new Rule(X.Value1, Y.Value3, z.Value2);
rule_A = new Rule(X.Value2, Y.Value1, z.Value3);
每個規則定義的標準的唯一組合,並且不是所有的組合可以具有規則的(因爲一些組合可能沒有意義) 。規則實例不起作用,它們只是將每個因素存儲到唯一組合中的容器。
我的問題是我怎麼使用一個公共接口類執行一組特定的過程,如:
class RuleExecutor {
public void ExecuteBasedOnRule(Rule rule) {
// Here is where I am stuck!!!!!!
}
}
/技術,我可以使用什麼樣的設計模式來執行的3個步驟1 X的值,一個用於Y的值,另一個用於RuleExecutor中的Z,每個基於它的步長值執行不同的過程。在C++中,我可能會使用模板專門化,但C#似乎並沒有幫助我。
注意:在這個令人費解的例子中,有三個因素與一小組可能的值,在我期待這樣做的項目中這些非常大,並且爲每個可能的組合創建一個具體類並不是我會考慮的輕輕!
所以在配置對象中會有一些命令類類型實例,每個因素都有一個。其中的每一個都會在ExecuteBasedOnRule中執行。這是有道理的,因爲我可以使用'XFactorCommandFactory','YFactorCommandFactory'等,並讓他們根據相關的因子值創建正確的命令實例? –
聽起來對我來說是正確的 – SomeWittyUsername