Refactor para usar o padrão Builder ou o padrão Telescoping

De acordo com o Java 2ed eficazItem 2

telescoping padrão do construtor, no qual você fornece a um construtor apenas os parâmetros necessários, outro com um único parâmetro opcional, um terceiro com dois parâmetros opcionais etc., culminando em um construtor com todos os parâmetros opcionai

Um exemplo de construtores da classe que aplica esse padrão é emprestado deQuando você usaria o Padrão do Construtor?

código definido 1a

Pizza(int size) { ... }        
Pizza(int size, boolean cheese) { ... }    
Pizza(int size, boolean cheese, boolean pepperoni) { ... }    
Pizza(int size, boolean cheese, boolean pepperoni, boolean bacon) { ... }

size é umrequerido parâmetro. queijo, calabresa e bacon sãoopciona parâmetros. Supondo que eu gostaria de fornecer o construtor como abaixo.

code set 1b

Pizza(int size) { ... }        
Pizza(int size, boolean cheese) { ... }    
Pizza(int size, boolean pepperoni) { ... }    
Pizza(int size, boolean cheese, boolean pepperoni, boolean bacon, int price, int) { ... }

Outro exemplo é que

code set 2

public AttributeKey(String key, Class<T> clazz)
public AttributeKey(String key, Class<T> clazz) 
public AttributeKey(String key, Class<T> clazz, @Nullable T defaultValue, boolean isNullValueAllowed)
public AttributeKey(String key, Class<T> clazz, @Nullable T defaultValue, boolean isNullValueAllowed, @Nullable ResourceBundleUtil labels)

Otwo último exemplo Eu dei não seguiu a característica do construtor telescópico como o conjunto de códigos 1a fez

Os códigos 1b e 2 estão incluídos no construtor telescópico? caso contrário, como é chamado? Comparando o uso do Padrão do Construtor, qual (entre o Construtor e o padrão do conjunto de códigos 1a, 2) oferece mais benefícios

questionAnswers(2)

yourAnswerToTheQuestion