ここで私は適切なデザインを見つけようとしています。OOGenericsのデザインに関する考慮事項
数字のプロファイルを保存する必要があります。プロファイルは単なる一連の数字です。 int型、float型、decimal型のいずれかになります。各プロファイルには、ennumerationに基づくProfileDescriptionフィールドがあります。
各プロファイルには、ProfileVersionオブジェクトのコレクションがあります。各ProfileVersionオブジェクトには、ProfileValueオブジェクトのコレクションがあります。これらのProfileValueオブジェクトは、必要なタイプの実際の数値が格納される場所です。
私の最初のデザインアイデアは、Profile、ProfileVersionおよびProfileValueを一般的にすることでした。私は、私が持っていないさまざまなタイプのプロフィールのリストを持っていたいときに問題に遭遇しました。代わりにArrayListを使用することができますが、その中のデータをキャストする必要があります。
私は、ProfileVersionとProfileValueを汎用的にして、ProfileDescriptionフィールドの値に応じてProfileVersionにタイプを割り当てることができますが、これを行う方法が見つかりません。
私はProfileBaseクラスを使用し、GenericProfileClassまたはIntProfile、FloatProfile、DecimalProfileのいずれかを使用してサブクラス化する必要がありましたが、これはそれぞれのクラスを汎用的にすることよりも利点がありません。とにかく毎回サブクラスをキャストしてください。
このような状況に最適な設計アプローチについてお考えいただきありがとうございます。
おかげ