Я искал шаблон для моделирования того, что я думаю сделать в личном проекте, и мне было интересно, будет ли работать модифицированная версия шаблона декоратора.
В основном я думаю о создании игры, в которой атрибуты персонажей изменяются в зависимости от того, какие предметы они экипировали. То, как декоратор складывает свои модификации, идеально подходит для этого, однако я никогда не видел декоратора, который позволяет вам сбрасывать промежуточные декораторы, что происходит, когда предметы не экипированы.
Есть ли у кого-нибудь опыт использования шаблона декоратора таким образом? Или я лаю не на то дерево?
Пояснение
Чтобы объяснить «промежуточные декораторы», если, например, мой базовый класс - это кофе, украшенный молоком, который украшен сахаром (на примере шаблонов дизайна Head first), молоко будет промежуточным декоратором, поскольку оно украшает базовый кофе и украшается по сахару.
Еще одно уточнение :)
Идея состоит в том, что предметы меняют характеристики, я согласен, что я впихиваю в это декоратор. Я загляну в государственную сумку. по сути, я хочу иметь единую точку доступа к статистике и для того, чтобы они поднимались/опускались, когда предметы экипированы/не экипированы.
Я мог бы просто применить модификаторы к статистике персонажей при экипировке и откатить их при снятии экипировки. Или всякий раз, когда запрашивается статистика, перебирайте все элементы и вычисляйте статистику.
Я просто ищу отзывы здесь, я знаю, что я мог бы использовать бензопилу, где ножницы были бы более подходящими...