繁体   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