Если я скажу, что у меня есть иерархическая структура сущностей, а не компонентная модель. Что-то вроде:
(Да, это сделано)
Weapon-> Gun-> AutomaticGun-> MP44
Или, более классический пример:
Entity-> MovableEntity-> Enemy-> WalkingEnemy
Как далеко вы разделите исходные / заголовочные файлы для удобства чтения и организации? Лучше ли использовать что-то вроде Entity.cpp, MovableEntity.cpp, Enemy.cpp и т. Д., Или будет лучше подход Entity.cpp [содержащий Entity и MovableEntity] и Enemy.cpp [содержащий Enemy и WalkingEnemy]? (Или, в более независимом от языка формате, файл Enemy и файл Entity против файла для каждого класса?)
Кроме того, это может повлиять на что-либо, кроме читабельности и организации?
language-agnostic
это подходящий тег, поскольку он сильно зависит от языка, который вы используете для побочных эффектов.