我遇到了麻煩,試圖設計類。 我有摘要Chip
類,STM8
類,它擴展了Chip
並實現IConfigurable
(它具有Configure方法)。C#策略模式設計問題
我希望每個實現IConfigurable
的類都有一個方法Configure
,它使用一個參數來決定使用策略模式(方法)來配置什麼。
的僞代碼:
當然public void Configure(Periphial p)
{
this.periphials[p]();
}
配置的東西在每一類不同。例如,STM8
可以有GPIO和定時器,並且STM8L
只能有GPIO。然後,創建每個子類的方式應該是愚蠢的,所以我想迫使人們在他們的類中聲明自己的enum
。
最後,用一對enum/delegate初始化字典是否是一個好主意,以顯示可以配置的內容? this.periphials
用於上面的僞代碼?
你的僞代碼是什麼意思?另外我在這裏看不到戰略模式。 – BrokenGlass
你嘗試過什麼方法?這似乎更像是一個哲學問題。 –
這是一種使用periphial枚舉調用某些配置器,然後執行其委託(指向同一對象內的成員方法的指針)的方法。我在這裏有不止一個問題,對不起。 – aambrozkiewicz