0

我想完全data layer分开UI Layer。这是我的例子,我有一些客户需要为同一份报告提供不同的数据,我不想UI接触. 基本上,the会调用一些“事物”,而那个“事物”会调用 the ,然后会根据用户检索数据并将其传递回“事物”,而“事物”会将数据传递回.Data LayerData LayerUIUIData layerdata layerUI

我不知道这个“东西”应该是什么?

我听说过一些术语,比如模型,使用对象映射器,但不确定这些是否相关。

4

2 回答 2

1

您正在寻找的模式是 MVC - Model-Controller-View。您需要的“东西”是控制器。通常代码是这样组织的

  • 调用控制器来获取报告
  • is 访问数据层(或模型)并获取一个填充了数据的对象(可以是强类型对象,也可以是地图)
  • 控制器调用视图,将数据对象传递给它并获取渲染结果
  • 控制器将渲染结果返回给客户端。

这应该足以让你开始。

维基百科中的 MVC 模式

于 2012-10-05T13:35:48.040 回答
0

您正在谈论一种通用架构:UI --> 业务逻辑层 (BLL) --> 数据访问层(DLL)。现在,BLL 和 DAL 可以包含在您的 .exe 中(您使用 WinForms 标记了您的问题),或者可以成为服务层/层的一部分,这很常见。

拥有定义每一层(BLL 和 DLL)的接口通常是一种很好的做法。这将允许您在不影响其使用者(通常)的情况下更改层的实现,为您提供关注点分离,并促进测试。

BLL 将包含您的逻辑,DAL 将管理您的数据源。您提到了一个模型,它通常指的是 DAL 通过 BLL 返回的对象。将其视为您的 Person 模型或 Order 模型。由于您的标签是 Winforms,您可能需要研究 MVP 模式。

于 2012-10-05T13:50:36.103 回答