Цитата:
Сообщение от amesqit
Если я верно понимаю проблему, то она решается цепочкой наследования, не обязательно чтобы у каких-то сущностей было несколько потомков, сущность может выступать в роли родителя просто ради того чтобы упростить структуру детей.
|
amesqit, спасибо, но боюсь, не мой случай. У меня класс персонажа уже наследуется в самых традиционных ООП-эшных целях переопределения методов наследниками. Т.е. суперкласс Character, а от него уже специфические CharacterNPC, CharacterPlayer и т.п. Причём в наследниках всё более-менее лаконично, а вот в супере - "мясо".
Добавлено через 52 минуты
Цитата:
Сообщение от Wolsh
Герой не должен хранить в себе специфические данные "для кого-то одного". Можно хранить данные, которые нужны многим и не должны быть рассинхронизированы так, что один менеджер считает что здоровье 100, а другой насчитал 15. Тогда есть смысл.
|
Wolsh, спасибо. Какой-никакой а уже подход
Хотя да, я и сам заметил, что не зная деталей проекта и его специфики, трудно что-либо советовать по части архитектуры (тем более я благодарен всей аудитории, которая откликнулась на мои наивные вопросы, когда я только начинал).
Я пока выбрал для себя такой путь. Выделять в отдельные сущности какие-то тематически целостные вещи. Например, ты мне в своё время очень удачно посоветовал реализовать менеджер экипировки как отдельный класс, иначе класс Character ещё сильнее бы увеличился. Сейчас попробовал сделать SkillManager и загнать туда все скиллы, а также методы, связанные с моделью их увеличения.