我們有像填充的下拉列表中,格式化許多常用功能Basewebpage類,返回格式化的數據表等..最好的方法從靜態返回新的對象/ isntance VS實例方法
這將是一個很好的方法。
Public Class BaseWebPage
{
...
public static DataTable Static_GetPersonDataTable()
{
DataTable dt = new DataTable();
dt.Columns.Add("Name");
dt.Columns.Add("Age");
return dt;
}
...
public DataTable NonStatic_GetPersonDataTable()
{
DataTable dt = new DataTable();
dt.Columns.Add("Name");
dt.Columns.Add("Age");
return dt;
}
}
這是怎麼都可以稱得上是上面的場景
-
DataTable dt1 = BaseWebPage.Static_GetPersonDataTable(); // calling static method ... BaseWebPage pageBase = new BaseWebPage(); DataTable dt2 = pageBase.NonStatic_GetPersonDataTable(); // calling non-static method
幾個問題都將方法中返回一個DataTable的新實例或靜態總是會返回相同的?
- 在重負載(許多請求)的情況下,會有任何線程相關的問題嗎?
- 如果沒有比其他更好的副作用?爲什麼?
如果你可以寫一點描述性,它將是非常有用的。
我只是把Datatable例如,我們幾乎不使用它。然而,你可以建議一些鏈接或關於LINQ-to-SQL案例中的3層架構的一般格式好好表達,討論如何封裝類,方法,靜態變量和方法以及其他東西感謝很多stilgar –
我想不出任何關於LINQ to SQL的3層架構的文章。我必須去Google,但你也可以這樣做。但是我可以推薦你使用MVP模式(有一個框架可以幫助你使用模式,但你可以很容易地實現模式),如果你正在使用Web窗體。另外,如果您可以使用.NET 4.5,則應該使用ModelBinders,如果不是,則應該將您的LINQ查詢包裝到ObjectDataSource中,並以這種方式與控件進行交互。 – Stilgar
使用LINQ to SQL的一種合理方式是在請求啓動時創建一個DataContext並將其粘貼到HttpContext.Current.Items中(當然,您應該在方法中包裝對它的訪問),並在請求結束時進行處理。還有其他更高級的方式來管理數據上下文的生命週期,例如工作單元模式,但我經常發現它們是一種矯枉過正。 – Stilgar