我真的建議在對象中包裝任何類型的「獲取設置」功能並將其隱藏在接口後面。我們強烈型這一點,所以我們有:
public class Worker
{
private readonly ISettings settings;
public Worker (ISettings settings)
{
this.settings = settings;
}
public void Work()
{
for (int i = 0; i < settings.MaxWorkerIterations(); i++)
{ ... }
}
}
public interface ISettings
{
int MaxWorkerIterations();
}
public class AppConfigSettings
{
public int MaxWorkerIterations()
{
return (int) ApplicationSettings["MaxWorkerIterations"];
}
}
這樣做的(主要)編譯時檢查和可測性容易受益。您也可以將您的AppConfigSettings類重寫爲一個明顯的CachingAppConfigSettings類。
我想你是對的。設置機制似乎不適用於這種使用方案。謝謝。 – user492238 2012-02-29 08:28:10