Я иногда слышу, что наличие слишком большого количества классов «менеджера» в дизайне вашей программы - это запах кода и добавляет ненужный уровень сложности. Для меня имеет смысл, что люди хотят использовать классы менеджера для манипулирования объектами и управления ими из контекста, который имеет для них смысл, но выяснение того, как заставить решение работать без них, может сбивать с толку.
Стоит ли действительно избегать занятий менеджера, насколько это возможно? Кроме того, какие статьи / документы я должен прочитать о том, как реализовать альтернативный обходной путь для общих / общих случаев, когда эти менеджеры могут быть удалены?