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