gpt4 book ai didi

c# - 类设计 - 从 返回列表
转载 作者:行者123 更新时间:2023-11-30 15:48:24 24 4
gpt4 key购买 nike

给定一个简单的类:

public class Person 
{
public string FirstName;
public string LastName;

public string GetFullName()
{
return FirstName + LastName;
}
}

此类的用户将填充 List<Person>通过读取 Xml 文件或其他一些数据源来获取对象。填充 List 的逻辑应该在 Person 类中还是应该只保留在调用类中?换句话说,是否应该有一个 public List<Persons> GetPersons() Person 类或调用类中的方法?或者数据访问器应该完全在另一个类中?

我知道这是一个相当简单的问题,但我只是好奇其他人通常是如何做的。

最佳答案

如果稍后数据存储发生变化怎么办?如果 Person 不再存储在 XML 文件中而是存储在数据库中怎么办?现在您需要再次更改 Person 类。我会说有某种称为“IPeopleRetriever”或其他东西的界面:

public interface IPeopleRetriever
{
IEnumerable<Person> GetPeople();
}

然后,有一个名为 XMLPeopleRetriever 的类:

public class XMLPeopleRetriever : IPeopleRetriever
{
public IEnumerable<Person> GetPeople() { ... }
}

这样一来,您的 IPeopleRetriever 的使用者就不需要知道 Person 的来源。

关于c# - 类设计 - 从 <Object> 返回列表 <Object>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2649789/

24 4 0