ブール値、多項式、1-5,1- 10、1〜100、-2〜+ 2、小数値ですらあります。そこで、レスポンスタイプの階層を作成しました。実際にデータを格納するのと比較して階層データの構造を定義する
class Response {
String name
}
class BooleanResponse extends Response {
boolean score
}
class SimpleGradeResponse extends Response {
char score // A-F
}
class ComplexGradeResponse extends Response {
char score // A-F
char modifier // +, -, blank
}
class IntegerResponse extends Response {
int min, max, score
}
class DecimalResponse extends Response {
double min, max, score
}
メタデータとして考えています。調査回答タイプについて説明します。 1から10までのIntegerResponse、0から100までのIntegerResponse、DecimalResponseなどの質問3を持つことができます。
私は不確かなところは、ユーザーからの実際の応答をどこに格納するかです。上記のスコアフィールドで行ったように、スコアをメタデータと混同していますか?すべてのレンジ・タイプのレスポンスが最小値と最大値を持っているので、それは扱いにくいようです。
私が本当に望んでいるのは、範囲応答パラメータをカレーして新しいタイプを作成し、そのタイプを実際の応答のテーブルに反映できることです。したがって、1〜10の範囲を取る質問は、IntegerResponseの行で、min = 1およびmax = 10となります。しかし、ActualResponseテーブル(私はこれを理解したら、命名規則を改善する必要があります)はどのようにスコアを保持し、minとmaxを設定してカリングしたIntegerResponseを参照しますか?
この問題全体にアプローチするより良い方法があれば、私はそれを聞いて欲しいと思います。
おかげで、 リー
あなたの問題のような私に聞こえる音は、グラスやグルーヴ関連ではありませんが、より多くのドメインモデリングとオブジェクト指向設計の領域です... –