我想完全data layer分开UI Layer。这是我的例子,我有一些客户需要为同一份报告提供不同的数据,我不想UI接触. 基本上,the会调用一些“事物”,而那个“事物”会调用 the ,然后会根据用户检索数据并将其传递回“事物”,而“事物”会将数据传递回.Data LayerData LayerUIUIData layerdata layerUI
我不知道这个“东西”应该是什么?
我听说过一些术语,比如模型,使用对象映射器,但不确定这些是否相关。
我想完全data layer分开UI Layer。这是我的例子,我有一些客户需要为同一份报告提供不同的数据,我不想UI接触. 基本上,the会调用一些“事物”,而那个“事物”会调用 the ,然后会根据用户检索数据并将其传递回“事物”,而“事物”会将数据传递回.Data LayerData LayerUIUIData layerdata layerUI
我不知道这个“东西”应该是什么?
我听说过一些术语,比如模型,使用对象映射器,但不确定这些是否相关。
您正在寻找的模式是 MVC - Model-Controller-View。您需要的“东西”是控制器。通常代码是这样组织的
这应该足以让你开始。
您正在谈论一种通用架构:UI --> 业务逻辑层 (BLL) --> 数据访问层(DLL)。现在,BLL 和 DAL 可以包含在您的 .exe 中(您使用 WinForms 标记了您的问题),或者可以成为服务层/层的一部分,这很常见。
拥有定义每一层(BLL 和 DLL)的接口通常是一种很好的做法。这将允许您在不影响其使用者(通常)的情况下更改层的实现,为您提供关注点分离,并促进测试。
BLL 将包含您的逻辑,DAL 将管理您的数据源。您提到了一个模型,它通常指的是 DAL 通过 BLL 返回的对象。将其视为您的 Person 模型或 Order 模型。由于您的标签是 Winforms,您可能需要研究 MVP 模式。