Я работаю над проектом, который имеет большое количество форм, которые пользователи будут заполнять для создания окончательного отчета. Большинство этих вопросов имеют множественный выбор. Я борюсь с правильной архитектурой для классов в приложении.
Ради разговора, скажем, это отчет об автоответчике. Объектно-ориентированный подход диктует, что мы создаем структуры на основе информации, содержащейся в каждом вопросе. Таким образом, у нас есть такие классы, как «Транспортное средство», «Авария» и т. Д. Но как насчет вопроса, например, «с какой скоростью движется транспортное средство при столкновении», когда пользователям предоставляется выбор из 4 ответов?
- Менее 10 миль в час
- 11-30mph
- 31-50mph
- Более 50 миль в час
Как правильно хранить эту информацию в классе? Моим первым соображением было перечисление:
enum CollisionSpeed {
LessThan10,
ElevenToThirty,
ThirtyOneToFifty,
MoreThanFifty
}
Но это выглядит грязно, поскольку основывает структуру данных на представлении. Кроме того, если в будущем они изменят диапазоны, мы также должны изменить enum.
Итак, вопрос в том, как вы справляетесь с выбором диапазона, подобным этому, с объектно-ориентированным подходом?
Спасибо!