2011-11-08 4 views
4

私はいくつかのC#コーディング標準を読んでいたし、それがこのあります:「イベントハンドラが必要なアクションを実行するコードを含むべきではない。むしろ、イベントハンドラから別のメソッドを呼び出す」イベントハンドラの機能コードが悪いですか?

を私があればと思いましてこれには理由がありますか(それとも何か他のもの)、それとも単にスタイルの好みなのでしょうか?

+2

このコーディング規格のリファレンスはありますか?コンテキストがここで助けになるかもしれません。 – bobbymcr

+0

ここからのセクション9の13.:http://www.dotnetspider.com/tutorials/BestPractices.aspx私は現在、プロジェクトの標準を書いていて、インスピレーションのためのさまざまなコーディング基準を見ていて、ちょうど勧告であるか、またはパフォーマンスの問題がある場合はうまくいかないでしょう。例えば、 – Firedragon

答えて

7

イベントハンドラは、GUIをビジネスロジックに接続するためのものです。

ユーザーの名前と追加ボタンを入力するテキストボックスがある場合は、[追加]ボタンをクリックするだけで_userRepository.AddUser(UsernameTextbox.Text)を呼び出す必要があります。イベントハンドラでビジネスロジックを必要としません。

+0

あなたの言っていることを理解しています。堅実な業績やその他の問題があるのか​​、それとも単なる良いスタイルの問題か? – Firedragon

+0

良いスタイルの問題は、正確にそれは[懸念の分離](http://en.wikipedia.org/wiki/Separation_of_concerns)、[カップリング](http://en.wikipedia.org/wiki)の間に浮かんでいます。/Coupling_(computer_programming))と[Cohesion](http://en.wikipedia.org/wiki/Cohesion_(computer_science))を参照してください。実際にはUserRepositoryクラス以外の場所に存在するように、(例では)データベースにユーザーを追加するために必要なコードは必要ありません。あなたは[抽象的](http://en.wikipedia.org/wiki/Abstraction_(computer_science))これを簡単なAddUser呼び出しに追加します。 – CodeCaster

+0

これは、パフォーマンスやスタイルの問題ではありません。 UIアプリケーションの場合、UIイベントハンドラはビジネスロジックを持つべきではありません。これは結合が悪いためです(たとえば、生のクラスライブラリなどのUIコンテキスト外でロジックを再利用したい場合は、またはそれを複製する)。 – bobbymcr

関連する問題