В настоящее время я храню список тестов со связанной информацией, включая идентификаторы базы данных, внутри статических переменных в моем коде.Вот пример:
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 для конкретного идентификатора.Одним из решений было бы создать словарь и вручную вставить все эти тесты в словарь с идентификатором в качестве ключа.Это похоже на повторение большого количества кода.
Как правильно реализовать что-то подобное? Я думаю, мне нужно вывести тестовые данные на внешний уровень, загрузить их в тесты.во время выполнения и генерировать правильные справочные таблицы и группы на лету.Это правильный подход, на который я должен смотреть или есть лучший способ?