在Visual Studio中为数据访问,业务规则和业务对象创建项目

时间:2012-04-25 11:15:00

标签: c# asp.net data-access-layer business-rules

我在Visual Studio中创建了一个解决方案,试图实现一个基本的3层C#应用程序。我已经研究了这个概念,现在我试图将每个层的不同项目放在一起,即我有DataAccessBusinessRulesBusinessObjects的项目。

BusinessRules项目是否应包含对DataAccessBusinessObject项目的引用? (DataAccessBusinessObjects不应该引用BusinessRules?)

在设置之后,我意识到虽然我理解每个层负责的内容,但我不知道你是否应该使用DataAccess层中的数据填充业务对象,或者是否{ {1}}图层应将请求的数据传递给DataAccess,然后填充对象 - 建议的方法是什么?

1 个答案:

答案 0 :(得分:1)

虽然它可能对您的问题没有帮助,但答案总是“取决于”。在谈到这一点时,没有“一个戒指可以统治所有人”。如果有的话,不需要建筑师。

话虽如此,在我的特殊情况下,我喜欢:

  • 让数据访问层对业务对象进行操作。这假定DAL全部在代码中,而不是在数据库中的代码和存储过程之间分开。
  • 让业务规则层对业务对象进行操作。再次假设所有代码而不是存储过程。
  • 数据访问的业务规则是一个棘手的问题。它在很大程度上取决于应用程序的类型和规则。如果您需要业务规则来更新商店,我可能会从DAL中提取接口,以便业务规则只能依赖于接口。

同样,这些项目适用于我的情况。他们可能完全错了。此外,你没有提到用户界面层,服务层,等等等等。可能有很多零件和零件。

为了保持正确,你必须遵守任何硬规则。您必须查看您的需求,您的要求以及您拥有的约束。

祝你好运。