Нечесно дописывать после того, как я ответил.
У меня другое мнение. Причем ты сам себе противоречишь. Если у тебя четкие правила для расширения, наказываемые самой структурой, то о какой максимальной переносимости ты говоришь? В мою систему - да, можно легко. В неё вообще всё что угодно легко затолкать.

Именно по причине такой архитектуры, где приложение пользуется интерфейсами компонентов, а не компоненты построены по "четким правилам". А вот если у системы (допустим у фрейма Ron'а) другие "четкие правила", то увы и ах.
А теперь про плюсы моей схемы. (про минусы твоей не буду, ты же не писал, хотя и завуалировал

)
1. Низкая ресурсоемкость. Это очень важно на высоконагруженных проектах. Сравнение подходов из батла (
volter_9 доделал все же свою поделку), при равном функционале моя свистопукалка работала в 10 раз быстрее. На порядок. А это значит, что если возможности сервака использовать на 100%, то можно принять в 10 раз больше посетителей.
Количество подключаемых файлов у нас с тобой отличается на порядок. А это тоже самое, но по оперативке. И я на серваке могу разместить десяток таких систем, вместо твоей одной.
2. Да, можно говнокодить. Можно использовать любую парадигму в компонентах, разницы нет. Допустим API платежных систем часто дают в процедурном виде. Нужно переписывать под твою систему, а зачем?
3. Я использую только то, что требуется. Допустим на работе по специфике невозможно использовать ЧПУ. Ну и на кой мне в системе преобразователь URL или правила роутинга? Или наоборот. У меня очень много специфичных модулей, которые не просто нельзя в опенсорс показывать. Это вообще под грифом "секретно". Зачем мне их интегрировать в инфраструктуру? Да и одна конфига только будет весить полтонны. А это удар по читабельности, соответственно по сопровождению. А так либа подключается сама.
4. Про сопровождение. У тебя есть четкие правила, как ты говоришь. А где они? Без документации твой код, это дебри и темный лес. Да и с документацией нужно тратить время на её изучение. У меня цепочка прохождения минимальна и код очевиден. Причем отсутствие сервис-локаторов намного упрощает дебаггинг. А это в проекте с постоянно модифицируемым функционалом очень важно. Логика алгоритмов компонента может быть запредельной, но логика управления им проста до безобразия.
5. Ну и последнее. Ты постоянно меняешь технологии. Вот если тебя сейчас убедят, что DI через свойства, это антипаттерн, тебе придется перелопатить всю систему. Что ты кстати и делал неоднократно. Я ничего делать не буду. Потому что нет инфраструктуры, нет проблем. Компоненты обновляются в эволюционном порядке не затрагивая остальных и всю систему.
Схема фреймворка хороша, когда это опенсорс или для фриланса. Где важна скорость разработки и наплевать на ресурс. Потому я и говорю - обе схемы имеют и преимущества и недостатки. И это не я придумал. Но они обе имеют право на жизнь. Так что не схватил ты Бога за яйца, никакие это не новейшие технологии. Это просто одно из направлений.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.