sve*_*vit 7 .net c# vb.net data-access-layer bll
解决方案设置
假设我有一个Customer实体,它是:
BLL和DAL应该用什么类型的对象进行通信 - DataTable或者List<Customer>(例如)?在第一种情况下,BLL逻辑应将Customer对象转换为DataTable并将其发送到DAL.在secod的情况下,DAL层应该知道Customer层,它位于BLL层中.但原始DLL引用DAL而不是相反......
我是否应该将所有类放入单独的程序集中,这是由所有其他类引用的(Common,BusinessObjects,...)?在这种情况下,我可以在所有项目中使用Customer类.
我知道,当我知道只有一个BLL会使用我的DAL时,我是否应该费心去分离DAL和BLL.在这种情况下,我可以将它们合并为一个项目.
PS - 我正在阅读关于DataTables的内容,很多人说我们根本不应该使用它们.有什么更好的选择?也许现在是我学习一些ORM映射工具的时候了:)
在我看来,你应该有另一个层(单独的DLL).就像"域名"一样,你会在哪里保留像Customer这样的所有实体.然后简单地在此程序集的层次结构中包含所有更高级别(DAL,BLL,UI和其他).
示例架构可能如下所示:
(数据库)< - > DAL < - > BL < - > UI
在所有级别上,您都可以访问"域"图层.DAL应该返回List而不是DataTable.在某些阶段,您可能希望在DAL中使用某些OMR(如NHibernate)的开发过程也可能返回List.
| 归档时间: |
|
| 查看次数: |
6363 次 |
| 最近记录: |