我已經在單獨的項目中設置了我的VS解決方案,包括:Presentation,Business,Entities和Data Access Layers。我在DAL中有這個靜態類AppSettings
,我想在Globla.asax.cs中調用它的Load()
方法Application_Start
。它基本上從web.config加載我的應用程序設置。我的問題是:我應該做一個業務邏輯類來從我的表示層訪問它,或者我可以直接從我的表示層訪問我的AppSettings到DataAccess層(忽略業務層)。總是遍歷業務層到達數據層?
如果是這樣,這是否也適用於一切?我必須經常通過業務層到達數據層嗎?
public static class AppSettings
{
public static int ApplicationID { get; set; }
public static string ServiceEndpoint { get; set; }
public static string ServiceCode { get; set; }
public static string ConnectionString { get; set; }
public static void Load()
{
//Connection String
AppSettings.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["USpace"].ConnectionString;
//Applicatin Settings
AppSettings.ApplicationID = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["AppID"]);
AppSettings.ServiceEndpoint = (string)System.Configuration.ConfigurationManager.AppSettings["ServiceEndpoint"];
AppSettings.ServiceCode = (string)System.Configuration.ConfigurationManager.AppSettings["ServiceCode"];
}
}
如果我必須經過業務邏輯層BLL的類將這個樣子?:
public static class BLLAppSettings
{
public static int ApplicationID
{
get
{
AppSettings.ApplicationID
}
}
...
它確實有幫助謝謝(+1)你是否說我可能不需要訪問appSettings的業務類,只需直接調用DAL? – capdragon
一個業務層可以提供一個地方來統一應用業務規則到您的數據。如果實體沒有業務規則,那麼爲什麼要使用業務層呢?額外的代碼層,只是提供了一個溫暖的模糊「我遵循模式」的感覺,對我來說,是一種浪費... – ShaneBlake
對我有意義。 – capdragon