我有一個顯示客戶信息的窗口。 當窗口加載時,我從構造函數LoadCustomer()
中調用方法,該構造函數異步加載來自數據庫的客戶信息,該函數設置CurrentCustomer
屬性。 ,然後UI被更新,因爲它綁定到CurrentCustomer
。異步調用內部獲取訪問者 - 這是一個好習慣嗎?
private void LoadCustomer(Guid customerID)
{
var customerContext = new CustomerContext();
var customerQuery = customerContext.GetCustomersQuery()
.Where(e => e.CustomerID == customerID);
customerContext.Load(customerQuery,
loadOperation =>
{
CurrentCustomer = loadOperation.Entities.SingleOrDefault();
}, null);
}
高級程序員告訴我,這是更好地把CurrentCustomer的get訪問這裏面的邏輯,因爲那時
- 到數據庫的調用將使用延遲加載,並
- 重構會更容易。
在屬性的get accessor中放置異步數據庫調用是否是一種好的做法?
負載不屬於* getter *。閱讀代碼不會產生副作用。這種情況很可能會被移動,所以最好保持一切可讀性。有時候*高級*意味着*舊*。 :) – 2010-10-04 08:27:59