не имея коллег-программистов, чтобы обсудить правильный подход к моей проблеме, я решил спросить вас. Каков ваш предпочтительный подход отображения таблиц словаря к модели в парадигме MVC, независимо от используемой среды / среды MVC?
Моя проблема в том, что у меня есть пара таблиц базы данных, которые служат только словарями и связаны с другими таблицами как внешние ключи. Хорошим примером будет таблица request
, имеющая status_id
, где статусы хранятся в отдельной таблице status
.
Теперь последняя таблица должна быть сопоставлена с моделью на стороне кода приложения. Я могу либо:
- Определите все состояния как константы, чтобы на них можно было ссылаться в коде, не вставляя эти страшные «магические числа» здесь и там. Однако любое изменение словаря (на стороне базы данных) потребует модификации кода.
- Опустить таблицу `status` и просто определить значимую константу, которая будет использоваться в коде. Плюсы: одно место, чтобы править ими всеми. Минусы: все изменения требуют углубления в код, теперь в базе данных есть «магические числа», которые на самом деле не являются внешними ключами
- Попытайтесь автоматически преобразовать состояния в модель, добавив поле типа const_name в таблицу «statuses» и создавая константы на лету при загрузке модели. Этот, кажется, имеет больше всего смысла для меня.
Не могли бы вы поделиться своим обычным подходом к этому вопросу?
Лучший,
Bartek