我想将data layer
与UI Layer
完全分开。这是我的例子,我有一些客户需要不同的数据用于同一报告,我不想UI
触及Data Layer
,所以我假设我需要一些“东西” Data Layer
和UI
。基本上,UI
会调用一些“东西”,而“东西”会调用Data layer
,然后data layer
会根据用户检索数据并将其传递给“东西” “并且”事物“会将数据传回UI
。
我不知道这件事应该是什么?
我听过像Model这样的一些术语,使用了Object Mapper,但不确定它们是否相关。
答案 0 :(得分:1)
您寻找的模式是MVC - 模型 - 控制器 - 视图。你需要的“东西”是控制器。通常代码就像这样组织
这应该足以让你入门。
答案 1 :(得分:0)
你在谈论一个共同的架构:UI - >业务逻辑层(BLL) - >数据访问层(DLL)。现在,BLL和DAL可以包含在您的.exe中(您使用WinForms标记您的问题)或者可以是服务层/层的一部分,这是非常常见的。
通常,使用定义每个层(BLL和DLL)的接口是一种很好的做法。这将允许您更改图层的实现,而不会影响其消费者(通常),让您分离关注点,并促进测试。
BLL将包含您的逻辑,DAL将管理您的数据源。你提到了一个Model,它通常是指DAL通过BLL返回的对象。将其视为您的Person模型或Order模型。由于您的标记是Winforms,因此您可能需要调查MVP模式。