Кхм, все мысли из этого поста, почти под копирку из названных книг. + к ним, я бы посоветовал Кент Бек «Экстремальное программирование: разработка через тестирование», там очень хорошо описана борьба со сложностью, и + Марк Сииман «Dependency Injection in .NET»
Кхм, Di это преимущество, а не недостаток, в проектах, которые живут дольше недели. В принципе, вся эта цитата — преимущества.
и dependency injection, когда даже родную мать можно объявить сервисом, была бы пустая строчка в конфиге, и ORM по сложности сравнимый с Hibernate, и аннотации, которые были больше чем аннотации, и, в качестве завершающего штриха, сверхмодульная структура, дико дробленая на файлы и пытающаяся выжать все из возможностей ООП в PHP.
Хм, для чего это может понадобиться? Наверно конструктор отсутствует не просто так, проблема в архитектуре и лучше усовершенствовать ее, чем использовать данный костыль?
Возможно не так масштабно, но данные собираются, так же как и в андроид, mac os и т.п.