Здравствуйте, это
снова я. Есть космический корабль. Класс
Ship. В нем лежит массив отсеков корабля. Класс
Hardpoint. В каждом отсеке может быть установлено оборудование. Там такая схема -
IEquipment - базовый абстрактный класс, определяет общие параметры вроде массы, размеров и т.д. Наследники IEquipment - типы оборудования,
Generator,
Engine и т.д. Ну и их экземпляры, лежащие в отсеках - конкретные модели этого оборудования.
Проблема в их действии. Простой пример - двигатель определяет скорость корабля (физика, прости). Соответственно чтобы внешние скрипты (движения в данном случае) узнавали скорость корабля пришлось разместить свойство Speed в главном классе (Ship), которое проходит по всем двигателям на корабле и считывает результирующую скорость с них. Проблема в том, что по ходу разработки добавляется множество новых свойств и все это висит в Ship. Это нормально или это плохая архитектура и нормальные люди делают все по другому? В общем, прошу гуру проанализировать это и вынести вердикт.