Здравствуйте, qaz77, Вы писали:
Q>Понятно, что есть поля в билдере.
Q>Как потом чисто технически эти значения перекочуют в целевой объект?
Q>Т.е. билдер должен быть френдом целевого типа?
Судя по формулировке, у топик-стартера Дотнет. Там вместо френдов — или обращение к internal членам при необходимости, или сам билдер делается вложенным (nested) классом. Пример из стандартной библиотеки —
ImmutableDictionary<TKey,TValue>.Builder.
Q>Просто присвоить значения своих полей в закрытое состояние создаваемого объекта?
Скопировать или даже переместить (move) в конструктор целевого объекта. Конструктор целевого объекта
желательно делать «тупым», чтоб он просто захватывал передаваемые параметры. Соответственно, после move состояние билдера может быть «очищенным».
Q>конструктор без параметров по условию
Если топик-стартер придумал себе такое условие «конструктор без параметров», то он с тем же успехом может заменить его условием «фабричный метод без параметров», или «конструктор билдера/фабрики без параметров» (в зависимости от того, где у него это ограничение всплывает).