【发布时间】:2017-07-17 15:50:09
【问题描述】:
在设计新的多层应用程序时,我在为 DAL 和 BLL 层设计做出决定时遇到了困难。
假设我将员工信息分布在多个表中,这些表与主表具有 1-1 和 1-Many 关系。下面列出的很少:
员工(主表),
Employee_Contact_Detail,
Employee_Education,
Employee_Skill,
员工体验
在 DAL 级别,我有一个通用数据存储库,为每个表提供通用功能,例如 GetAll、GetSingle、Add、Edit、Delete。
现在,我是否应该设计从我的“通用数据存储库”派生的“员工数据存储库”,并将上面列出的所有相关表的函数添加到单个类中,例如 GetEmployeePersonalDetail、GetEmployeeContactDetail、GetEmployeeEducation、AddEmployeePersonalDetail、EditEmployeePersonalDetail 等。以这种方式我会从“通用数据存储库”中获得非常少的好处。另一种方法是我为每个表创建(并从通用存储库派生)一个单独的数据存储库,然后在业务逻辑层为“员工”创建一个类。
编辑
如果我在 DAL 级别选择“每个表的单独数据存储库”选项,而不是“员工”的“单个业务逻辑类”,如果我创建单独的业务逻辑类,对应于每个数据存储库,考虑到这种情况会是不雅的方法吗?
非常感谢您的指导。
【问题讨论】:
标签: design-patterns repository data-access-layer business-logic-layer