2009-06-01 5 views
2

BLLのビジネスルールのエラーを返すためのベストプラクティスは何ですか?私は例外を発生させてプレゼンテーションレイヤーにキャッチしますか?shoudl例外の型情報を保持するオブジェクトを返しますか?BLLエラーのベストプラクティス

答えて

2

「戻る」という言葉はここでは微妙です。

多階層設計の主な利点は、直交性です。 BLLのクラスを、現在使用しているUIとはまったく異なるUIから呼び出すことができ、ロギングを完全に別の方法で処理できるはずです。

例外がユーザーの介入または通知なしで処理できる場合は、通常はBLL内で行う必要があります。例外がユーザーの注意を引くか、ログに記録する必要がある場合は、BLLにそのようなものを組み込むことなく、通知とログを実装できるUIまでバブルアップしてください。

+3

単一のBLL例外タイプ(MyDatabaseException)で複数の例外(InvalidCastException、SqlExceptionなど)をラップすると、ライブラリを使用するユーザーは各呼び出しで15種類の例外をトラップする必要がなくなります。 – Will

関連する問題