[英]getter , setter c#
我的Web應用程序中有各種自定義數據類型,可以映射數據庫中的某些數據。
就像是:
Person
Id
Name
Surname
我需要在應用程序的大多數頁面中列出人員列表
我正在考慮創建一個getter屬性,該屬性將從數據庫中獲取人員列表並以這種方式存儲到緩存中,而不必每次都調用數據庫
類似於(偽代碼)的東西
public List<Person> Persons
{
get { return if cache != null return List of Persons from cache else get from the database;}
}
我該把吸氣劑放在哪里? 在我的Person類定義中或在我的基本頁面中(所有其他頁面都繼承自該頁面)
謝謝
我不認為您應該將其放在Person
類中,因為它訪問數據庫和 HttpContext.Current.Cache
。 此外,我認為您應該將其設為方法而不是屬性,以暗示這可能是“冗長的”操作。 因此,在這兩個選項中,我將其放在基礎Page
類上。
我認為將其放在您的基本頁面中將是更好的選擇。
根據您的應用程序體系結構,將與過程相關的代碼放入您的域類中可能是一個問題。 但是有些人在DDD(域驅動設計)類型的應用程序中使用它。
更好的是,我通常嘗試在服務類中隱藏那些實現細節。 您可能有一個PersonService
類,其中包含您的上述方法以及所有與人相關的操作。 這樣,任何需要人員信息的頁面都可以簡單地調用PersonService
; 您可以將頁面代碼集中在與GUI相關的代碼上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.