Когда вы прочитаете сообщение в блоге, на которое вы ссылаетесь в комментариях, вы увидите, что «быть менеджером, если под другим именем» - это именно то, что он хочет, чтобы вы делали. При разработке программного обеспечения существует общее мнение, что глобальные переменные являются злом, и единственной альтернативой является то, что любые данные хранятся в других данных.
Проблема с именем класса FoobarManager
состоит в том, что слово «менеджер» не говорит вам, что на самом деле делает класс . Например:
- Когда он управляет игровой механикой foobars, вы можете назвать его
FoobarController
.
- Когда он создает экземпляры foobars, но затем передает управление чему-то другому, это
FoobarFactory
или FoobarBuilder
.
- Когда он рисует foobars на экране, это
FoobarRenderer
.
- Когда он слушает события, генерируемые foobars, это
FoobarEventHandler
.
- Когда он ждет, что что-то случится с foobars, это
FoobarObserver
.
- Когда это просто тупой держатель данных для коллекции foobars без какой-либо логики, просто назовите его
Foobars
.
Вы можете назвать любой из этих классов "Менеджер". Но тогда он может выполнять любую из этих функций. И когда вы позже поймете, что вам нужна другая из перечисленных выше функций, вы также интегрируете ее в FoobarManager. Таким образом, вы получите Объект Бога, который нарушает принцип Разделения Проблем (каждый класс должен делать только одно).