【发布时间】:2015-08-16 21:00:28
【问题描述】:
我很难找到答案。基本上,现在我有这些层:
- 数据访问层(我的存储库所在的位置)。它有命名空间 Hello.Data
- 业务层(我的业务对象所在的位置)。它有命名空间 Hello.Business
我的存储库将返回业务对象。例如,GetCustomer 将返回 Customer。
但是,在我的业务层中,我还想添加将使用存储库添加/更新/删除记录的逻辑,这样我就可以在我的 MVC 控制器中重用这些方法。但这不起作用,因为我不能让我的数据访问层引用我的业务层,也不能让我的业务层引用我的数据访问层。 (它会创建一个不允许的循环引用)。
你们认为最好的解决方案是什么?我应该把我的业务逻辑放到它自己的项目中吗?
所以而不是:
Hello.Data
Hello.Business
我会:
Hello.Data
Hello.Business
Hello.BusinessLogic
或者我认为这一切都错了?谢谢!
【问题讨论】:
-
分离会很好,因为您的 DataLayer 不需要知道您的任何其他组件/层。
-
可能是一个名为 Common 或 DataClasses 或 Domain 的项目...在那里我可以存储我的数据和业务层都可以使用的共享对象?
标签: c# asp.net asp.net-mvc repository