gpt4 book ai didi

c# - 从一个中心类: is there a pattern I could/should use?提供不同的数据访问接口(interface)

转载 作者:行者123 更新时间:2023-11-30 20:45:36 24 4
gpt4 key购买 nike

<分区>

我想开始(逐步)重写旧应用程序中的数据访问层。我们使用 Entity Framework 作为对象关系映射器,因此“纯数据访问”已经完成。仍然需要做的是提供“下一个”层(我之所以这样调用它是因为现在还不清楚旧的业务层是否会保留下来;这可能会导致我正在谈论的方法在哪里的问题应该逐层)使用必要的方法来获取所需的数据。

因为需要很多方法,所以将它们全部放在一个巨大的接口(interface)/类中对我来说似乎不是正确的方法。我宁愿考虑按主题分离这些“获取数据”方法。也就是说,像这样:

interface IBillDataAccess { .. }
interface IAttestationDataAccess { .. }
interface ICustomerDataAccess { .. }

等等。

(1) 你认为在这里使用接口(interface)有用吗(我认为是这样),即使这些接口(interface)的实现不太可能改变?我必须向接口(interface)和实现中添加新方法。

(2) 我通常会在“提供者”类中创建这些接口(interface)的具体实现,就像我之前在许多较小的项目中看到的那样。它通常看起来像这样( similar old question of mine ,但现在我有更多的接口(interface)):

public static class DataAccessProvider
{
public static ICustomerDataAccess GetCustomerDataAccess()
{
return new CustomerDataAccess();
}

public static IBillDataAccess GetBillDataAccess()
{
return new BillDataAccess();
}
// and so on
}

关于这个设计的一些事情让我很困扰,虽然我不能确定它。我相信您的意见会对我有所帮助!

另一点(与 (1) 相交):我还不确定我是否喜欢 DataAccess 类不是静态的。但是为此使用静态类意味着我不能使用任何接口(interface)。

我很感激任何关于这方面的意见,因为我对这一切真的很不安全,不幸的是,我通常会问的人暂时不在这里。随意怀疑和批评我在上面所做的任何事情;)

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