【问题标题】:Creating Projects for Data Access, Business Rules and Business Objects in Visual Studio在 Visual Studio 中为数据访问、业务规则和业务对象创建项目
【发布时间】:2012-05-06 01:38:01
【问题描述】:

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

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

设置完成后,我意识到虽然我了解每个层的职责,但我不知道是否应该使用 DataAccess 层中的数据填充业务对象,或者是否应该使用 DataAccess层应该将请求的数据传递给BusinessRules,然后填充对象——推荐的方法是什么?

【问题讨论】:

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


    【解决方案1】:

    虽然它可能对您的问题没有帮助,但答案始终是“视情况而定”。在这方面,没有“一环来统治他们”。如果有,就不需要建筑师了。

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

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

    同样,这些项目适用于我的情况。他们对你来说可能是完全错误的。此外,您没有提到用户界面层、服务层、等等等等。可以有很多部分。

    没有任何您必须遵守的硬性规则才能正确。你必须看看你的需要、你的要求和你有什么限制。

    祝你好运。

    【讨论】:

    • 谢谢,这正是我正在寻找的答案。网上有很多文章,在 Stack Overflow 上也有人问过这方面的问题,但它们似乎表明有正确的方法可以做到这一点,而事实上(正如你的回答所指出的那样)有很多不同的方法实现这一点。
    猜你喜欢
    • 2010-11-18
    • 2016-06-07
    • 2018-01-08
    • 1970-01-01
    • 2019-08-07
    • 1970-01-01
    • 2010-10-18
    • 2011-04-12
    • 2011-04-30
    相关资源
    最近更新 更多