Я очень рад сделать мой первый пост stackoverflow здесь, потому что вы обсуждаете мою статью: -)
Я думаю, что эта конструкция (использование как компоновщика, так и свободного интерфейса: свободный компоновщик) значительно улучшает читабельность кода. Более того (без обсуждения шаблонов проектирования) это доказывает свою ценность, когда нам нужны неизменные объекты. Проще говоря, сделав конструктор частным и удалив все установщики, мы получаем очень мощный инструмент для элегантного и удобочитаемого, но в то же время мощного способа построения неизменяемых объектов. Наконец, весь пост должен был быть больше посвящен умному использованию шаблонов для генерации повторяемого кода - но мне очень нравится обсуждение.