【问题标题】:Single Interface for multiple DAL多个 DAL 的单一接口
【发布时间】:2018-10-25 14:37:09
【问题描述】:

对于 MS Access、MS SQL 和 Oracle,我确实有不同的数据访问层。如何使用单一接口将数据插入不同的数据库。

不同类的单一接口 - 有可能吗?如何 ?这种模式在 OOP 中叫什么名字?

如果有人用c#举例,那将非常有帮助。

【问题讨论】:

  • 单个接口是可能的,你想看看工厂方法模式
  • 你必须了解数据访问类中的层。我会在 msdn 上查看 c# 源代码:referencesource.microsoft.com
  • 您(理想情况下)希望首先创建数据访问接口,然后为您提到的每个数据库提供程序编写类以符合接口。

标签: c# class oop interface object-oriented-analysis


【解决方案1】:

界面的目的是使您能够满足您的要求。是的,多个类可以有一个接口。您正在寻找的模式是 Repository Pattern

存储库在域和数据映射层之间进行调解,就像内存中的域对象集合一样。客户端对象以声明方式构造查询规范,并将它们提交给 Repository 以获得满意。对象可以添加到 Repository 中,也可以从 Repository 中删除,就像从简单的对象集合中一样,Repository 封装的映射代码将在后台执行相应的操作

如果不将这篇文章变成完整的博客文章,就不可能编写存储库模式的示例,我当然会避免这样做,因为那里有很多非常有用的文章。以下是其中的几个:

https://www.infragistics.com/community/blogs/b/dhananjay_kumar/posts/how-to-implement-the-repository-pattern-in-asp-net-mvc-application

https://www.codeproject.com/Articles/526874/Repository-pattern-done-right

希望这会有所帮助!

【讨论】:

  • 存储库模式和工厂方法模式一样对吗?
  • 没有。他们不一样。检查这篇文章以供参考。 dotnetfunda.com/interviews/show/5515/…您可以在互联网上探索更多以了解更多信息。
猜你喜欢
  • 2016-03-10
  • 2013-09-24
  • 1970-01-01
  • 2011-10-20
  • 1970-01-01
  • 1970-01-01
  • 2011-03-01
  • 1970-01-01
  • 2013-06-23
相关资源
最近更新 更多