Похоже, что паттерн builder хорош, если вы создаете некоторую линейную цепочку вещей (java's StringBuilder) или создаете объект с большим количеством свойств (PizzaBuilder).
Можно ли расширить его для построения дерева без указания возможно запутанных мест расположения узлов?
a
/ | \
c d e
/ \
f g
TreeBuilder tb.addNode(levelNumber, parentNumber, nodeName) // I think this is terrible
tb.addNode(2, 3, g) //terrible
Или это просто не очень хорошая идея с этим шаблоном?
Спасибо