Я хочу определить собственный тип / статус для моей сущности, избегая использования ENUMS
. Это поле не является фиксированным, и в будущем могут появиться новые значения.
Кроме того, в зависимости от текущего значения он имеет различное поведение (override
реализации некоторых функций).
Моим первым подходом было создание еще одной таблицы БД со всеми существующими типами. Это что-то вроде ENUM.
Итак, моя цель - определить (тип?) Моей сущности и сделать ее модифицируемой.
Пример:
DiningTable.location = terrace ; joinWithTable(..){ //increase guest number }
DiningTable.location = salon ; joinWithTable(..){ //throwException }
Новые местоположения могут прийти с различными реализациями joinWithTable()
.