gpt4 book ai didi

c# - 我应该实现存储库和 xml 服务吗?

转载 作者:太空宇宙 更新时间:2023-11-03 14:03:50 27 4
gpt4 key购买 nike

我对如何存储像 Person 这样的简单类有一些疑问在 Xml 文件中。

根据我的知识,我必须首先创建包含 GetPersons() 等功能的 Xml 服务和 SavePersons(IEnumerable<Person> persons) .

我的存储库应该包含可能的查询,AddRemove还。我真的很想有人解释我如何开始实现这两件事?这个想法的主要思想是将它存储在一个 xml 文件中,并从存储库中获取一些查询。

最佳答案

存储库模式背后的想法是隐藏数据存储的细节。因此,您存储库的用户只会看到具有以下方法的界面:

public interface IPersonRepository
{
void Add(Person person);
void Remove(Person person);

void GetById(int personId);
}

如果您想使用 XML 作为您的数据存储,您应该创建一个实现 IPersonRepository 接口(interface)的 XmlPersonRepository。在这些方法中,您可以使用 .NET 类直接访问 XML 文件,或者您可以将 XML 数据加载到 DataSet 中并以更相关的方式访问它。

如果您有多个存储库,您会怎么做?一种用于人员,一种用于产品,一种用于订单。如果您随后想要跨越这三个存储库的单个事务并将更改保存在一个 block 中,您还需要另一种模式。工作单元。

Patterns of Enterprise Archicture将 UnitOfWork 定义为:

Maintains a list of objects affected by a business transaction and coordinates the writing out of changes and the resolution of concurrency problems.

关于c# - 我应该实现存储库和 xml 服务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9979185/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com