【问题标题】:Business Rule Violations and Exceptions业务规则违规和异常
【发布时间】:2012-01-03 18:31:59
【问题描述】:

有人可以帮助我提供一篇文章的链接,或者一个包含链接的 SO 帖子的链接,说明为什么用例外情况对违反业务规则的行为进行建模不是一个好主意。如果这本书在 Safari 上可用,我也会很高兴引用一本书和一页,并且书中的摘录会加倍好!

在我看过的问题和答案中看到了很多很好的理由 SO,但其他人需要更权威的东西(福勒/埃文斯联盟中的东西会很好) .

谢谢

【问题讨论】:

  • 是不是一定要出书才有权威!谁说的?
  • 网络文章很好,但它需要来自权威的某人/某处。一个关于 codeproject / reddit / random SO 答案的文章的链接是不够的。 (对我来说,+20/author rep 10k 的 SO 答案就足够了,但对其他人来说还不够......)
  • 人们愿意对接近投票发表评论吗?现在我拥有相当于throw new Exception() 级别的开发信息。

标签: c# oop coding-style business-logic


【解决方案1】:

虽然我没有完整阅读这些内容,但我认为这些链接(其中一个来自 Google 图书)应该对您有用,因为它们主要与 Ronald G. Ross (brcommunity.com) 编写的业务规则建模相关:

http://books.google.co.in/books?id=Uyv9hMOt6BsC&pg=PA72&lpg=PA72&dq=business+rule+violations&source=bl&ots=8fb5Vqgi3K&sig=DNUkrv4wNZTX755rVk2gv0upzUs&hl=en&sa=X&ei=QYsFT7ezEOf10gH68tmLAg&ved=0CFsQ6AEwCDgK#v=onepage&q=business%20rule%20violations&f=false

http://www.brcommunity.com/b335.php

【讨论】:

  • 感谢您提供的链接,这本《业务规则方法原则》一书看起来不错。我没有看到任何东西(在快速阅读之后),说明建模规则违规与异常(编程语言结构)是不好的做法。你在哪里看到过这个?
【解决方案2】:

我认为您不会在任何书籍中找到权威的答案。有些人会声称在 C# 中抛出异常非常昂贵。其他人(比如我)会告诉你不要担心,除非你正在构建一个半实时系统。我一直在我所有主要的企业级系统中抛出 RuleViolationExceptions,因为我已经看到这比让域中的每个方法都返回某种错误代码要好得多。事实上,我认为这是一个最佳实践,所以我将它包含在我的Silverlight Cookbook 项目中。

【讨论】:

  • 嗯。这难道不引导我们走上所有不是“幸福案例”的道路现在都是例外吗?我个人觉得这个模型是错误的,因为你现在使用异常作为 BL 信息的传输,而且你还面临一个问题,什么是“幸福的案例”。
  • 你可以,但我使用silverlightcookbook.codeplex.com/SourceControl/changeset/view/… 之类的东西来收集我所有的业务规则违规并将它们扔到服务层周围。
猜你喜欢
  • 2010-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-05
相关资源
最近更新 更多