Мне нужно создать объект X, используя свойства объекта Y (оба имеют один и тот же тип) 4-5 различными способами, т.е. в зависимости от ситуации, эти свойства Y могут использоваться для инициализации X различными способами. Один из способов сделать это - создать объект X, используя конструктор по умолчанию, а затем установить его свойства, но у него есть недостаток, заключающийся в том, что если возникает какая-то проблема, то объект находится в несогласованном состоянии. Другой способ сделать это - создать разные конструкторы для всех случаев с фиктивными параметрами, что звучит очень плохо.
Есть ли хороший шаблон дизайна, который я могу использовать здесь?