AlertDialog против AlertDialog.Builder

Зачем использовать класс AlertDialog.Builder а не методы, доступные непосредственно для AlertDialog Например, зачем использовать AlertDialog.Builder.setCancellable а не AlertDialog.setCancellable ? Неужели это случай избыточности?

Поскольку AlertDialog.setCancellable возвращает void и AlertDialog.Builder.setCancellable возвращает AlertDialog.Builder .

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

AlertDialog позволяет вам отображать диалоговое окно над вашей активностью / фрагментом. Он обычно используется для запроса пользователю взаимодействия, в том числе нескольких кнопок или уведомления чего-то.

AlertDialog.Builder – это внутренний статический класс AlertDialog, который позволяет вам быстро настроить диалог с помощью его удобных методов. Его просто как вспомогательный класс для AlertDialog. Он используется для вызова методов в цепочке.

AlertDialog.Builder выполняет настройки атрибутов, таких как setTitle() или setMessage() и не отображается пользователю.

AlertDialog – это тот, который отображает те атрибуты, которые были установлены в AlertDialog.Builder .

Цель иметь как упоминалось где-то, так это то, что он позволяет устанавливать настройки отдельно от фактического отображения, что, в свою очередь, делает вещь удобной.

Я думаю, что фабричные методы просто более удобны.