Статья удалена

Этот материал был удалён по просьбе автора.

1) Для инверсии зависимости.
Менеджер управляет сущностями, либо напрямую либо через интерфейс. Напрямую - будет сильная зависимость. Через интерфейс - зависимость будет уже от абстракции.
2) Наследование сейчас почти не применяется(как и все ооп), только для фасадов и фреймворков. Вмести него нужно использовать интерфейсы и агрегацию.
3) Для внедрения зависимостей. Менеджер дает доступ к себе только через интерфейс. Это позволит легко подменять на менеджер для мультиплатформы. Это уберет все #ifdef и позволит делать тесты.

Ответить