C# 合并接口上多个类的唯一方法?
我有两个类,它们包含唯一的数据库存储库。两者都与不同的数据库交互。我想将这些存储库合并到一个界面上。这是可能的,还是两个类都不会被认为完全实现了所有接口成员 我想要这样的东西C# 合并接口上多个类的唯一方法?,c#,C#,我有两个类,它们包含唯一的数据库存储库。两者都与不同的数据库交互。我想将这些存储库合并到一个界面上。这是可能的,还是两个类都不会被认为完全实现了所有接口成员 我想要这样的东西 public class FooDatabase : IFooBarDatabases { public IFooRepository FooRepository { get; set; } } public class BarDatabase : IFooBarDatabases { public IB
public class FooDatabase : IFooBarDatabases
{
public IFooRepository FooRepository { get; set; }
}
public class BarDatabase : IFooBarDatabases
{
public IBarRepository BarRepository { get; set; }
}
public interface IFooBarDatabases
{
IFooRepository FooRepository { get; }
IBarRepository BarRepository { get; }
}
存储库应该是“独立于数据库的”
存储库在域和数据映射层之间进行中介,就像内存中的域对象集合一样。客户机对象以声明方式构造查询规范,并将其提交到存储库以满足需求。对象可以添加到存储库中,也可以从存储库中移除,就像它们可以从简单的对象集合中移除一样,存储库封装的映射代码将在幕后执行适当的操作
现在,您将如何创建your存储库实际上取决于您的域,而不是哪个数据库将被命中:存储库不应该关心哪个数据库将被命中
是的,但我无法摆脱这样一个事实:我在不同的数据库中有不同的数据。我不希望消费者必须指定要转到哪个数据库,例如传递连接字符串。我希望为消费者提供一个明显的数据源。