我正在尝试编写一个在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实例,但现在我想让客户摆脱它.
问题:
谢谢 !