Показываю, какую проблему может решить билдер. Написал реализацию этого шаблона проектирования. В конце про то, как можно не писать код самому. github.com/dis...
Спасибо за видео. Но есть и другой способ добавлять новые конструкторы. Просто заполнить конструктор с самым большим числом параметров, во всех остальных вызываешь через this() первой строкой и передаешь нужные аргументы. Можно это было показать в первой части видео.
сначала создаем объект с пустым конструктором, инициализируем нужные поля класса, создаем объект с конструктором, в котором передаем значения полей....не понятно что то, ведь создается два разных объекта в начале и в конце цепочки...как это все работает то
Не знаю точного ответа, но если подумать, то со строителем гораздо удобнее, так как при добавлении сетторов придется каждый раз после создания вызывать еще сеттер, а тут мы меняем именно логику конструирования объектов.
Шикарно. Классно, коротко, понятно. Лучшее объяснее билдера, которое я смог найти за час гугления.
Насколько чётко, быстро и понятно объясняешь. От души
lombok @Builder лучшее объяснение!
Отличное видео!
Круто объяснил. Спасибо!
Спасибо за видео. Но есть и другой способ добавлять новые конструкторы. Просто заполнить конструктор с самым большим числом параметров, во всех остальных вызываешь через this() первой строкой и передаешь нужные аргументы. Можно это было показать в первой части видео.
сначала создаем объект с пустым конструктором, инициализируем нужные поля класса, создаем объект с конструктором, в котором передаем значения полей....не понятно что то, ведь создается два разных объекта в начале и в конце цепочки...как это все работает то
пожалуйста можно все паттерны от вас, но думаю для меня уже будет поздно, придется читать буквы на хабре
Начальный вариант с 3 конструкторами можно было бы и сократить, вызывая из второго первый, а из третьего второй.
Нельзя, поля же финальные.
годно! спасиб
будет шикарно, если по другим паттернам пройдешься, в ютьюбе много воды, но мало действительно доходчивого контента
спасибо за видео
спасибо
Честно говоря не понятно, зачем необходимые новые конструкторы, когда для доп. полей можно было сделать сеттеры и всё.
Не знаю точного ответа, но если подумать, то со строителем гораздо удобнее, так как при добавлении сетторов придется каждый раз после создания вызывать еще сеттер, а тут мы меняем именно логику конструирования объектов.
наверное, код выглядит так лаконичнее. одна строка, а не много подряд вызовов сеттеров
Поля финальные, для них конструктор нужен
Билдер нужен, когда ты создаешь иммутабельный объект. В остальных случаях, действительно, можно всё заполнить сетерами.
сорян, но это не про паттерн BUILDER и не про то зачем он вообще нужен
Самое понятное объяснение на русском
12 минут писал код, 1.5 говорил по делу
мог бы сразу заготовить
@@richardsmith715 теперь так и делаю
Для красоты нехватает @FieldDefaults(makeFinal=true, level=AccessLevel.PRIVATE) )
Будет ролик отдельно про Lombok ;)