Как вы работаете с Хранилищем конфигурации в столь масштабном проекте? Не доставляют ли неудобств эксклюзивные захваты объектов для изменения? Отсутсвие бранчей(веток)? Даже в небольшой команде с этим определенные трудности (а так же, с быстродействием самого хранилища).
То, что код получается более строгим, а следовательно, и более безопасным? https://habrahabr.ru/post/166113/ "Исключительная красота исходного кода Doom 3"
Переписывание будет слишком затруднительно, только если весь код — единственный метод. В коде, разделенном на методы с человечески определенными интерфейсами (там скорее всего и будет максимально абстрактный List) проблем не будет.
Остается только подписаться под каждым словом. Единственное место, по хорошему, где могут появиться описанные деревья объектов — сериализатор/десериализатор для какого-либо API. Описанный же в публикации сценарий работы с БД — не что иное, как изобретение специфичного для проекта кривого и неполного подобия ORM.
Кстати, в статически типизированных языках проблемы работа с такими деревьями не составляет: есть LINQ, линзы [https://github.com/julien-truffaut/Monocle] и прочие функциональные комбинаторы.
https://habrahabr.ru/post/166113/ "Исключительная красота исходного кода Doom 3"
Кстати, в статически типизированных языках проблемы работа с такими деревьями не составляет: есть LINQ, линзы [https://github.com/julien-truffaut/Monocle] и прочие функциональные комбинаторы.