Мне нужно построить объекты класса, который имеет 3 поля: A, B и C. Допустимый объект имеет хотя бы один из A, B или C, заданный пользователем. Я заглянул в Builder Pattern, который близок к тому, что я хочу, но только 1 поле является обязательным. Я хочу это 1 поле, которое должно быть настроено на любое из 3, которое у меня есть. Какие-либо предложения?Шаблон Java для создания объекта, в котором должно быть установлено какое-либо одно поле?
Моей альтернативой является использование 7 конструкторов (для {A}, {B}, {C}, {A, B}, {B, C}, {A, C}, {A, B, C})
«, но поле, которое должно быть установлено нельзя изменить »<- Я не понимаю ваше возражение? Вы можете объяснить? Шаблон-застройщик является мощным, среди прочего, потому что он может проверять такие условия, как ваш, до выполнения фактической сборки ... – fge
шаблон построителя фактически позволяет вам решить, действительны ли параметры построителя, которые вы передали, до создания фактического объекта, Вот здесь проблема. Например: new Bulder(). WithA (a) .build() успешно, новый Builder(). Build() не удается –
Спасибо. Я этого не знал. – ask