現在、コードの静的変数内に、データベース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をキーとして、これらすべてのテストを手動で辞書に挿入することです。しかし、これは多くのコードを繰り返すようです。
このようなものを実装するための適切な方法は何ですか?テストデータを外部化し、実行時にテストをロードして、適切なルックアップテーブルとグループをその場で生成する必要があると考えています。これは私が見なければならない正しいアプローチですか、それともより良い方法がありますか?