1

現在、コードの静的変数内に、データベースIDなどの関連情報を含むテストのリストを保存しています。次に例を示します。

public static class IsokineticTests
{
    // Cervical Spine Group
    public static MyopathologyTest NeckFlexors = MyopathologyTest.Create(600, "Neck Flexors");
    public static MyopathologyTest AnteriorObliques = MyopathologyTest.Create(601, "Anterior Obliques");
    public static MyopathologyTest NeckExtensors = MyopathologyTest.Create(602, "Neck Extensors");
    public static MyopathologyTest PosteriorObliques = MyopathologyTest.Create(603, "Posterior Obliques");
    public static MyopathologyTest LateralFlexion = MyopathologyTest.Create(604, "Lateral Flexion");

    // Shoulder Group
    public static MyopathologyTest ShoulderAbductors = MyopathologyTest.Create(610, "Shoulder Abductors");
    public static MyopathologyTest ShoulderExtensors = MyopathologyTest.Create(611, "Shoulder Extensors");
    public static MyopathologyTest ShoulderFlexors = MyopathologyTest.Create(612, "Shoulder Flexors");
    public static MyopathologyTest ShoulderLateralRotators = MyopathologyTest.Create(613, "Shoulder Lateral Rotators");
    public static MyopathologyTest ShoulderMedialRotators = MyopathologyTest.Create(614, "Shoulder Medial Rotators");
}

次に、これらを使用して、他の静的プロパティgetメソッドを介してテストグループを作成します。

public static class IsokineticTestGroups
{
    public static IsokineticTestGroup CervicalSpine
    {
        get
        {
            return IsokineticTestGroup.Create("Cervical Spine", 
                    new List<MyopathologyTest>
                       {
                            IsokineticTests.NeckFlexors,
                            IsokineticTests.AnteriorObliques, 
                            IsokineticTests.NeckExtensors,
                            IsokineticTests.PosteriorObliques,
                            IsokineticTests.LateralFlexion
                       });
        }
    }
}

私が今抱えている問題は、MyopathologyTestで特定のIDを検索する方法が本質的にないことです。1つの解決策は、辞書を作成し、IDをキーとして、これらすべてのテストを手動で辞書に挿入することです。しかし、これは多くのコードを繰り返すようです。

このようなものを実装するための適切な方法は何ですか?テストデータを外部化し、実行時にテストをロードして、適切なルックアップテーブルとグループをその場で生成する必要があると考えています。これは私が見なければならない正しいアプローチですか、それともより良い方法がありますか?

4

1 に答える 1

2

テスト情報をSQLiteなどのデータベースに保持し、ADO.NETライブラリを使用して必要に応じてデータをフェッチしてみませんか?応答時間は事実上瞬時であるため、辞書に多くのテストオブジェクトを保存する必要はありません。

于 2010-11-19T02:09:03.577 に答える