質問

コードを書くための最良の方法は何ですか?

(1)でコードを直接書き込むような button_click() イベント。

また

(2)私が書いているそのコードの関数を作成する button_click() イベントとこの関数を1つのクラスに書き込み、その機能を呼び出す必要があります button_Click() event.likeは呼ばれています three-tier approach コードを書くには?

のように button_Click() レコードを保存するためにコードを書くイベント csv file from datatableだから私はそのコードを書くべきです button_Click() イベントまたは私は1つの新しい関数と1つの新しいクラスを作成し、その関数にそのコードを新しいクラスであり、その関数を呼び出す必要があります button_Click() イベント。

これはほんの一例ですが 私はアプリケーションに書かれたすべてのコードについて話している それはそれです appropriate and best way to write the code そして、利点は何ですか? C#を使用してWinFormsでコードを書くことに注意してください。

役に立ちましたか?

解決

別のクラスで個別の関数を作成する必要があります。コードを再利用可能にし、ユーザーインターフェイスとアプリケーションロジックの間に適切な分離を作成するため、それを行う必要があります。このように、たとえば、アプリケーションの残りの部分に影響を与えることなくUIを変更できます。

また、見てください MVCパターン, 、あなたは全体のアイデアをよりよく理解するでしょう。

最初のオプションを使用する必要があると思う唯一の状況は、UIに影響を与えるアクションを実行する場合ですが、フォームクラス内の別の関数でこれを作成します。

UIに影響している場合、それは関連しているため、同じクラスにある必要があります。たとえば、グリッドを更新するコードの場合、これは同じフォームクラス内に別の方法に入れます。それ。したがって、UIを変更するとアプリケーションに影響がありません。コードを再利用可能かつ保守可能にするだけです。

他のヒント

それはすべて状況に依存します。

フォームの更新を行う場合は、更新コードをフォームに配置する方が良いでしょう。ただし、多くの処理がある場合は、確かに、別のクラスがジョブを処理できるようにする方が良いでしょう。

それはすべて状況に依存します。

一般的に、GUIは同じコマンドをトリガーするために冗長メカニズム(コンテキストメニュー、メニューバー、ツールバー、アクセラレータキー)を提供する傾向があり、イベント署名はすべてのすべてに互換性がないため、イベントハンドラーにロジックを必要としません。これらは。次に、問題は、共通の関数がフォームクラスまたはデータモデルに移動する必要があるかどうかになります。

私はしばしば、フォームのロジックから始めて、必要に応じてモデルクラスにリファクタリングします。多くの小さなアプリは、メンテナンス性に複数のクラスが必要になるほど十分に大きくなることはありません。コードの複製(つまり、コピー+ペースト)を避けている限り、必要な場合はリファクタリングが簡単になります。

仕事のためにクラスを開発することは常に良いことです。コードが再利用可能になり、3つのティアアーキテクチャも実装できます。利点は、理解しやすいことです。
重要なことは、クラスを適切に開発する場合にのみ有益であるということです。クラスで再利用可能な方法を作成します。
別の利点は、コードの複雑さを隠すことです。

コードに構造を追加するには、2つの一般的なアプローチがあります:トップダウンとボトムアップ。トップダウン構造は、正式または非公式のプロセスやUML図や機能仕様のような純粋なデザインアーティファクトを含むデザイン作業から来ています。トップダウンプロセスの究極の目標は、コードに適切な構造を提供するための適切な構造を提供するクラスとインターフェイスを作成することです。これは、コードを書く前、または反復の一部として発生する可能性がありますが、最初に構造を作成してからコードを作成するというアイデアです。

ボトムアップ構造は、リファクタリングから来ます。たとえば、[ボタン]クリックですべてのロジックから始めます。 [ボタン]クリックと同じものを実行するメニュー項目を追加すると、ボタンクリックのコードをフォーム上のプライベートメンバー関数に移動します。アプリケーションの別の部分で同じ機能が必要な場合、プライベートメンバー関数がクラスに使用するコードと状態変数をカプセル化します。

両方のアプローチを使用することをお勧めします。あなたの状況に合った適切なミックスは、開発チーム(サイズ、場所、通信能力)とアプリケーションのサイズによって異なります。一般的に、大規模なアプリケーションにはより多くのトップダウンが必要であり、非常に小さなアプリケーションでは、最小限の量のトップダウンデザインが適切です。しかし、小さなアプリであっても、常にいくつかの高レベルの計画があるはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top