Подобные классы используются для управления набором объектов другого класса, которые часто являются ресурсами.
Например, допустим, у вас есть пул соединений с базой данных, каждый из которых представлен объектом DBConnection
class.
Если ваш код должен подключиться к БД через пул соединений, он просто запросит у DBConnection_Manager
class новое соединение.Зачем нам нужен класс менеджера?
Класс Manager сверится со своим списком объектов DBConnection и определит, является ли какой-либо из них нераспределенным, и вернет один.Если все выделено, он либо создаст его и добавит в пул (с учетом максимально допустимого количества подключений), либо поместит запрос в очередь, либо сообщит об ошибке.
ВСЕ эти функции полностью скрыты отвызывающая сторона - мельчайшие детали управления пулом - это задача класса Manager.
Это только конкретный пример, но идея заключается в том, что управление ресурсами централизовано и инкапсулировано с помощью класса Manager и пользователя.код просто запрашивает «ресурс».
Я не уверен, что для этого подхода есть «добросовестный» шаблон проектирования, хотя я нашел по крайней мере одну веб-страницу, на которой написано: http://www.eventhelix.com/realtimemantra/ManagerDesignPattern.htm
Обновление: в случае ActionScript такой класс может использоваться для управления звуками, прослушивателями событий или виджетами GUI (например, контекстными меню)