簡體   English   中英

getter,setter C#

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM