0

C# では、Task というクラスのオブジェクトのリストを持つデスクトップ アプリケーションを作成しています。各タスクには、タスクの実行時にタスクによって実行されるいくつかの関数が含まれています。

私の質問は、関数には多くの種類があるため、関数を管理する方法です。移動するクラスを持つ関数が存在する可能性があります (その場合、ベクトルデータが必要になります) 待機するクラスもある可能性があります (その場合、整数データが​​必要です)。

これを行う最善の方法は何ですか?

私の考えは、各タイプの関数に独自のクラス (待機クラスと移動クラス) を持たせ、それらのクラスはすべて関数 Execute() を持つ Function クラスから継承することです。しかし、これらの各オブジェクト内のデータをユーザーに変更させる必要があり、同じタイプのデータを持たないため、非常に困難になるため、これでも機能しません。

これはアーキテクチャに関する質問です。私はプログラミングに慣れていないため、どうすればよいかについて悪い電話をかけ、プログラムを維持できなくなることを知っています。現在の設計の唯一の問題は、の子クラスを変更することですたとえば、整数データの代わりにベクトル データを要求することを知っているなどです。

参考までに、2 つの例だけを示した Function サブクラスが多数あり、それぞれが非常に固有のデータを持っています。(リソースへのリンクは受け付けています)

4

2 に答える 2

0

あなたの投稿から私ができることから、親クラスを拡張するクラスを持つことについて話しています。実行中の基本メソッドを持つ親クラス (またはインターフェイス) を定義します。インターフェイスを選択した場合は、メソッド スタブを作成するだけです。親クラスを拡張する場合の子クラスは、メソッドをオーバーライドすることを選択できます。インターフェースを実装するクラスの場合、そのクラスは強制的にインターフェースで定義されたメソッドを作成します。

于 2012-09-22T05:50:54.647 に答える
0

すべてのメソッドを持つ基本クラス/インターフェイスから拡張し、プロパティ グリッドを使用して各サブクラスに固有のクラス固有のデータを入力します。

于 2012-09-22T09:29:28.607 に答える