Предположим, у меня есть объект Foo. У меня также есть FooBuilder, который должен использоваться для создания объектов Foo. Когда и где следует проверять данные объекта Foo?Проверка объекта с использованием шаблона строителя
Foo foo = new FooBuilder()
.withX("specific data for X")
.withY("specific data for Y")
.build();
Давайте добавим к уравнению, что проверка может содержать поиск в, например, базе данных. Должен ли строитель выполнить проверку внутри метода сборки? Или должен ли быть конкретный метод проверки в объекте foo? Или, может быть, валидация лучше всего полностью абстрагироваться от объекта Foo и FooBuilder?