c# – BLL和DAL之间的通信
解决方案设置
> DAL(类库) 假设我有一个Customer实体,它是: > SQL Server中的一个表 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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |