从DAL返回DTO与DataTable

时间:2010-04-13 21:05:37

标签: datatable dataset data-access-layer dto

让DAL从域模型返回DTO类型而不仅仅返回DataTable是否可以?让DAL函数返回DataTables / DataSets并让BLL将数据映射到业务对象是不是更宽松?

2 个答案:

答案 0 :(得分:3)

我认为这实际上取决于个人偏好,但我希望尽可能避免使用DataTables。

它们有时很方便,但它们不是强类型的事实往往会使调试,测试和理解代码变得更加困难。

答案 1 :(得分:3)

对于小型应用程序,在.NET中,最好将您的架构基于DataSet和DataTables。您可以直接绑定UI,进行报告,并且可以很好地扩展,直到遇到更大的域问题。查看Fowler的企业应用程序架构模式,特别是表模块和表数据网关模式。

对于任何更复杂的事情,拥有良好的领域模型以及围绕它的适当层(ORM映射器,远程处理和服务层等等)总是值得的。对于这些模式,请查看前面提到的书籍,最好使用Eric Evans的Domain Driven Design