ソフトウェア設計に関する質問があります。いくつかの要素を含む Windows フォームがあり、顧客オブジェクトがあるとします。顧客は、たとえば、ビジネス、プライベート、または法人のいずれかです。
ここで、フォームで何が起こるかのすべての決定は、顧客のタイプによって異なります。たとえば、特定の要素が非表示になる、特定のラベル テキストが異なるなど、イベントの応答が異なります。
明らかに、これをコーディングする 1 つの方法は、決定を下す必要があるたびに CASE ステートメントを使用することです。もう 1 つの方法は、Customer クラスと、BusinessCustomer、PrivateCustomer、CorporateCustomer などの他の 3 つのクラスを基本クラスから継承させることです。後者の場合、疑問が生じます。どのようにしてウィンドウをそこに組み込むのでしょうか....
編集済み
フォーム内にフォームを埋め込むことはできますか? 私の要件では、一度に 2 つのウィンドウを表示する必要はありません。そのため、MDI を使用する必要はありません。しかし、ここでいくつかの ppl のコメントに基づいて設計を簡素化するために、3 つの異なる顧客フォームを維持し、その場でメイン フォーム内に埋め込みたいと考えています。そうすれば、3 つの GUI が分離され、すべてのコントロールの可視性に対処する必要がなくなります。
次のように、フォームを別のフォームに追加できると仮定しています。
Form child_form = new Form();
parent_form.Controls.Add(child_form);