解决方案设置:
- DAL(类库)
- BLL(类库)
- 通用(类库(一些通用功能 - 枚举、日志记录、异常...))
- 应用程序 1(Windows 应用程序)
- 应用程序2(Windows 应用程序)
- WebApp(网络应用程序)
- ...
假设我有一个客户实体,即:
- SQL server 中的一个表
- DAL 中的 CustomerDataTable
- BLL 中的客户类
- 所有应用程序中的 BLL.Customer 类
BLL 和 DAL 应该使用什么样的对象进行通信 -DataTable
或List<Customer>
(例如)?在第一种情况下,BLL 逻辑应该将 Customer 对象转换为 DataTable 并将其发送到 DAL。在第二种情况下,DAL 层应该知道位于 BLL 层中的 Customer 类。但是最初的 DLL 引用了 DAL 而不是相反...
我是否应该将所有类放入单独的程序集中,由所有其他程序(Common、BusinessObjects、...)引用?在这种情况下,我可以在所有项目中使用 Customer 类。
当我知道只有一个 BLL 会使用我的 DAL 时,我是否应该费心将 DAL 和 BLL 分开。在这种情况下,我可以将它们合并到一个项目中。
PS - 我正在阅读有关 DataTables 的信息,很多人说我们根本不应该使用它们。有什么更好的选择?也许是时候让我学习一些 ORM 映射工具了 :)