Oli*_*ver 5 c# dns user-interface data-access-layer bll
我正在尝试编写一个在BLL和DAL之间有非常严格的边界的小应用程序,现在我想知道在层之间传递数据(域传输对象)的最佳方法是什么.
我在一个域级(类库)中实现了一些由BLL和DAL访问的类.这些类基本上只包含属性/数据成员,并且当前反映DAL数据.例如:
class CustomerData
{
// some data fields
}
Run Code Online (Sandbox Code Playgroud)
然后我在BLL中实现了一些类:
class Customer : CustomerData
{
// Some methods
}
Run Code Online (Sandbox Code Playgroud)
在我的DAL中,我通过Linq-to-Sql从数据库中获取客户记录.然后我通过以下方式将linq对象映射到我的Domain对象:
CustomerData.field = LinqObject.field
// Etc
Run Code Online (Sandbox Code Playgroud)
因此,我的想法是,当我请求时,我现在是一个从DAL到BLL的CustomerData实例(并且我应该将Customer实例传递给我的UI).
因此,在我的BLL中,我将收到一个CustomerData实例,但现在我想让客户摆脱它.
问题:
谢谢 !
通常我认为DTO是非特定层的,由DAL创建/使用,由BLL处理并由UI消费/创建.
通常每个图层都是VS解决方案文件夹中的一个单独项目,因此DTO是另一个由每个图层引用的项目.
这样,如果某个字段需要存在于UI中而不存在于其他图层中,则可以继承DTO.
| 归档时间: |
|
| 查看次数: |
8348 次 |
| 最近记录: |