Надеюсь, это поможет.

тветствии с эффективной Java 2edПункт 2

шаблон телескопического конструктора, в котором вы предоставляете конструктору только обязательные параметры, другой - с одним необязательным параметром, третий - с двумя необязательными параметрами и т. д., что завершается конструктором со всеми необязательными параметрами.

Пример конструкторов класса, применяющих этот шаблон, заимствован изКогда бы вы использовали шаблон Builder?

кодовый набор 1а

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

размертребуется параметр. сыр, пепперони и беконпо желанию параметры. Предположим, что я хотел бы предоставить конструктор, как показано ниже.

кодовый набор 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) { ... }

Другим примером является то, что

кодовый набор 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)

два последних примера Я далне соответствует характеристикам телескопического конструктора как сделал кодовый набор 1a

Включены ли кодовые наборы 1b и 2 в конструктор телескопирования? если нет, то как это называется?По сравнению с использованием Pattern Builder, который (между Builder и шаблоном кодового набора 1a, 2) обеспечивает больше преимуществ

Ответы на вопрос(2)

Ваш ответ на вопрос