在设计一个新的多层应用程序,我面临的困难在决定为我的DAL和BLL层设计单/多数据存储库。设计DAL和BLL - 对相关表
假设我将员工信息分散在多个表中,这些表具有与主表的1-1和1-多关系。很少有如下所列:
员工(主表),
Employee_Contact_Detail,
Employee_Education,
Employee_Skill,
Employee_Experience
在DAL水平,我有一个通用的数据存储库提供诸如GETALL常用功能, GetSingle,添加,编辑,删除每个表。
现在,我要设计我的“员工资料库”从我的“通用数据仓库”派生并添加功能像GetEmployeePersonalDetail,GetEmployeeContactDetail,GetEmployeeEducation,AddEmployeePersonalDetail,EditEmployeePersonalDetail等单一类上面列出在这所有相关表对于“通用数据存储库”,我将获得的好处更少。另一种方法是我为每个表创建(并从Generic Repository派生)一个单独的数据存储库,然后在“Employee”的业务逻辑层创建一个类。
编辑
如果我去了选项“为每个表单独的数据存储库”,在DAL水平,然后,而不是“单一的商业逻辑类”的“雇员”,如果我创建独立的业务逻辑与每个数据存储库相对应的类是否会采取不雅的方法来观察场景?
非常感谢您的指导。
你打算做什么没有错。这个问题没有任何具体的答案。所有答案都将基于意见。所以,你最好关注你的需求而不是模式。模式可以解决我们的问题。如果有什么解决你的问题,那么这是你的模式。 –
@A_J,非常感谢您的意见。我已经提出了一些问题。 – developer