我有一個UGLY邏輯樹,我正在尋找方法替換從表生成的一些代碼。基於幾個東西它的分支:在c中的邏輯樹中的混合類型#
- 一個
List<AbstractType>
- 實際類型的列表長度
- 一個標誌
enum
我的基本想法是建立某種形式的決策樹從輸入表。對於列表長度和標誌很容易(一個switch
),但類型位呢?
This question表明多態是一個好主意,但是這會在我的情況下將關注點和散佈代碼混合到四個方面(並且不會將自己放到代中)。另一個建議的解決方案(IDictionary<Type, DelegateType>
)可能有效,但看起來有點難看。
有沒有人有任何建議。
如果你可以發佈它現在看起來如何,它會有所幫助。 – 2009-08-15 18:49:49
想想你在The Daily WTF上看到的東西和你剛剛嘗試並避免使用的東西之間的邏輯樹,這是正確的。我正在尋找一些通用的解決方案,所以如果你想要更多的東西,你會回答一個不同的問題。 – BCS 2009-08-15 19:19:16