我有幾個應用程序需要讀取和寫入應用程序設置。由於其中一個應用程序是一個傳統的C++應用程序,在註冊表中有數百個設置(並且不會改變),並且還有一些設置以專有數據庫格式存儲,所以我想知道如何將該體系結構設置爲允許單個接口用於讀取和/或寫入設置。
一個想法是在那裏有一個巨大的枚舉,每一個可能的設置和一個分裂,指導基於巨大的病例陳述的讀/寫請求到正確的讀者或作者。在註冊表的情況下,這將不得不進一步解析枚舉可能性來找到密鑰的位置(如果它的Http設置在這裏,如果它的安裝設置位於此密鑰)。這整個想法讓我覺得非OOP和過多的手動測試。請記住,大約有30個數據庫設置,可能有70個註冊表設置。c#設置體系結構
public class SettingsTest
{
public enum ESetting
{
HttpUserName, HttpPassword, SetupAllowPublic, //db server stored
HttpProxyUsername, HttpProxyPassword, PublicOrPrivate //registry stored
}
public string GetSetting(ESetting setting)
{
if (IsSettingInRegistry(setting)
return RegHandler.GetFromRegistry(setting);
else
return DBHandler.GetFromDB(setting);
}
}
您正在重新發明一個輪子(或更多)。 – leppie 2010-07-08 04:32:20
什麼車輪?什麼重塑?有幫助嗎? – rediVider 2010-07-08 15:27:03