【问题标题】:Simplistic API for data access用于数据访问的简单 API
【发布时间】:2012-03-10 18:56:18
【问题描述】:

我们正在寻求创建一个 API,该 API 将封装我们的模型和存储库之间的所有内部交互,并提供一种在系统内添加和更新实体的简单方法。

我正在沿着这个 API 的消费者的路线寻找能够去:

SystemOder order = SomeClass.GetSystemOrderById("...");
order.amount = 200;
order.InvoiceAddress[0].StreetName = "123 Fake Street";
order.Save();

现在在幕后,我们仍然是存储库架构的模型,但为了编写纯业务逻辑,这将位于其之上,并对最终消费者隐藏。这种架构有没有像样的模式?

为了澄清一下,我们显然不想将 Save() 方法烘焙到核心域模型或类似的东西中,我们只是想要一个好的 API 来去除不必要的代码解析集合和调用存储库等。

【问题讨论】:

标签: c# design-patterns data-access-layer


【解决方案1】:

听起来您正在查看类似存储库模式的内容。 (您在问题中指的是存储库,但我认为您使用该术语代替数据存储?)

引用 Martin Fowler 的描述。

使用类集合接口访问域对象,在域和数据映射层之间进行调解。

更多信息可以找到here

【讨论】:

    【解决方案2】:

    打算推出我自己的外观模式,它将封装对象模型和 Save() Delete 等的持久性机制,同时仍然保持模型/DAL 的良好分离。这是 mixins 非常有用的类型......哦,好吧。

    【讨论】:

      猜你喜欢
      • 2011-03-10
      • 2013-01-15
      • 2010-12-13
      • 1970-01-01
      • 2013-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-18
      相关资源
      最近更新 更多