【问题标题】:BLL errors best practiseBILL 错误最佳实践
【发布时间】:2010-10-30 10:31:12
【问题描述】:

在 BLL 中返回业务规则错误的最佳做法是什么?我应该只引发异常并在表示层中捕获它们,我应该返回某种包含任何异常类型信息的对象吗?

【问题讨论】:

    标签: c# asp.net n-tier-architecture 3-tier bll


    【解决方案1】:

    “返回”这个词在这里很棘手。

    多层设计的主要优点是正交性。您应该能够从与您当前使用的 UI 完全不同的 UI 调用 BLL 中的类,并能以完全不同的方式处理日志记录。

    如果可以在没有用户干预或通知的情况下处理异常,您通常应该在 BLL 中这样做。如果需要引起用户注意或记录异常,让它冒泡到 UI,它可以实现通知和日志记录,而无需将此类内容构建到 BLL 中。

    【讨论】:

    • 将多个异常(InvalidCastException、SqlException 等)包装在单个 BLL 异常类型 (MyDatabaseException) 中也是一个好主意,这样使用该库的人就不必为十五种不同类型的异常捕获每次通话。
    猜你喜欢
    • 2013-03-14
    • 1970-01-01
    • 2012-01-10
    • 2018-09-12
    • 2017-11-26
    • 1970-01-01
    • 2012-08-17
    • 2012-04-05
    • 1970-01-01
    相关资源
    最近更新 更多