Прежде всего, извините, не могу найти хорошее название :(
Проблема Допустим, у нас есть объект, и мы можем применять различные действия для управления этим объектом, и я хочу сохранить его в базе данных.
В качестве примера мы можем определить следующие классы.
interface IAction{ object transform(object input); }
class Stretch : IAction { }
class Shrink : IAction {}
И объект может иметь список IAction.Также у каждого действия может быть тип, который мы определили.
enum ActionType { Stretch, Shrink }
Когда мы получаем действия из базы данных, нам нужно сделать логику, чтобы проверить, какой тип действия знать, какой класс создать.
Если я просто изменю порядок элементов в перечислении, то ничто не скажет мне, что моя база данных также должна измениться, и это может привести к серьезным изменениям.
Я пытаюсьнайти шаблон дизайна, который позволит избежать этой ситуации.Есть ли?