winformsのAOP
-
04-07-2019 - |
質問
コードを非常に複雑にすることなく、winformアプリケーションでユーザークリックをキャプチャする方法は? AOPは答えですか?インスツルメンテーションを追跡する方法
解決
これは実際の要件にかなり依存します。
simple / sample / prototype winformsアプリの場合、基本的な WinFormsイベントハンドラ、ハンドラメソッドにコード(重すぎないことを条件とする)。コードが重く、ハードなビジネスルールが含まれていて、フォームと対話しない場合は、そのコードを別のクラスに移動し、イベントハンドラーから呼び出すのが最善です。
アスペクト指向プログラミングはこれをさらに進めます。一般的には、大規模なプロジェクトに最適です。フォーム要素にはイベントハンドラーが必要です(コントロールベースのイベントハンドラーに固執することをお勧めします-独自のグローバルイベント処理機能を作成しないでください)が、コマンドオブジェクトを呼び出す必要があります( GangOfFourのコマンドパターン)。これらのコマンドオブジェクトは、アプリケーションのどこからでも呼び出すことができます。インストルメンテーションが必要な場合は、WinFormsイベントではなく、それらのCommandオブジェクトにインストルメンテーションを配置する必要があります。
他のヒント
winformsでクリックをキャプチャする一般的な方法は、 Control.MouseClick 。 Control.MouseDown もご覧ください。 a>および Control.MouseUp より詳細な情報が必要な場合。
やろうとしていることの詳細を提供していただければ、より的を絞った答えを見つけることができるでしょう。