Мне понравился шаблон прототипа Стива Йегге, и я решил быстрое доказательство концепции примера.
Однако я не особо все продумывал. Хотя он отлично подходит для динамического определения поведения объектов и является простым решением для самоуверенного эльфа Стива, я все еще пытаюсь найти лучший способ обработки переменных экземпляра.
Например, допустим, у меня есть объект AwesomeDragon. Затем я хочу создать объект AwesomeDragonImmuneToFire, поэтому я создаю новый дочерний элемент AwesomeDragon (AwesomeDragonImmuneToFire наследует свойства от AwesomeDragon) и «помещаю» «ImmuneToFire» в качестве свойства со значением «true». Все идет нормально. Теперь предположим, что я хочу отправить свой объект AwesomeDragon в путешествие по близлежащим крестьянским деревням. Это потребует обновления свойства «position» AwesomeDragon. Однако в тот момент, когда я сделаю это, AwesomeDragonImmuneToFire также взлетит.
Является лучшим решением для переопределения значений экземпляра при создании объекта, например. немедленно «поместить» значение «position» в AwesomeDragonImmuneToFire к текущему «полученному» значению «position»?