В процессе написания руководств по кодированию для компании я рекомендовал использовать шаблон Builder из Effective Java вместо телескопических конструкторов.
Однако, подумав немного об этом, безусловно, более элегантным решением будет просто удалить класс построителя, а также удалить дополнительные конструкторы с необязательными аргументами.
Так что просто имейте один конструктор с необходимыми параметрами, обычные методы получения / установки и комментируйте код. При реализации просто создайте новый экземпляр объекта yr, затем установите значения.
Мое первоначальное мышление состояло в том, что вы избавились от путаницы относительно того, какие параметры являются необязательными, а какие - необходимыми; однако истинное преимущество заключается в использовании метода цепочки / свободного интерфейса.
Шаблон компоновщика имеет свои преимущества, когда вы создаете много новых экземпляров, так как ide может выполнять работу на ногах, а также при наличии множества (более 15) необязательных параметров. Однако стоит ли тратить дополнительное время на кодирование статического внутреннего класса, вы бы порекомендовали использовать компоновщик или это пустая трата времени?