c# - getter , setter c#

标签 c# getter

我的 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;}
}

我应该把这个 setter/getter 放在哪里?在我的 Person 类定义中或到我的基页(所有其他页面继承的页面)

谢谢

最佳答案

我认为将其放在您的基本页面中会是更好的选择。

根据您的应用程序体系结构,将流程相关代码放入域类中可能会出现问题。不过,有些人在 DDD(领域驱动设计)类型的应用程序中使用它。

更好的是,我通常尝试将这些实现细节隐藏在服务类中。您可以有一个 PersonService 类,其中包含上述方法和所有与人员相关的操作。这样,任何需要人员信息的页面都只需调用 PersonService;您可以将页面代码集中在 GUI 相关代码上。

关于c# - getter , setter c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2343433/

相关文章:

C# 数据表错误

c# - 加入一个线程无一异常(exception)地停止执行

C#构造函数

c# - 在字符串中搜索子字符串

c++ - 是否可以覆盖在 C++ 中获取结构成员的默认行为?

java - 在同一个类的方法中使用封装getter

c# - 进行基础连接时,asp.net 页面加载两次

ruby - Mongoid 自定义 setter/getter 和 super

Objective-C getter / setter

c++ - 安全地直接访问类(class)成员