Сейчас я кодирую кучу систем. Они не связаны с общим интерфейсом.
Некоторые примерные системы: MusicSystem
, PhysicsSystem
, InputSystem
и т.д.
В настоящее время MusicSystem
загружает большое количество аудиофайлов в свой конструктор, и, как результат, может быть некоторое кратковременное отставание, когда объект сначала создается.
Из-за этого, должен ли этот код загружать все аудиофайлы в методе Initialize()
вместо этого? Это позволяет программисту определить, когда он хочет загрузить аудиофайлы, но затем, если он забыл позвонить Initialize()
, программа выйдет из строя.
Поскольку не всем системам нужен метод Initialize()
, программист должен просмотреть каждую систему, чтобы узнать, имеет ли класс метод Initialize()
, и если да, вызовите его. Это немного громоздко.
Какой подход предпочтительнее с точки зрения общих принципов проектирования?