Назад к вопросам
Middle
70
questionbank
Можешь рассказать о некоторых паттернах проектирования 'билдер' в Android?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Паттерн "Строитель" (Builder) используется для создания сложных объектов пошагово.
Примеры использования в Android:
-
AlertDialog.Builder: Создание диалогов с возможностью указания заголовка, сообщения, кнопок и других свойств.
new AlertDialog.Builder(context) .setTitle("Название") .setMessage("Текст сообщения") .setPositiveButton("ОК", (dialog, which) -> { // Действие upon OK click }) .setNegativeButton("Отмена", null) .show(); -
NotificationCompat.Builder: Построение уведомлений для статус-бара.
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.ic_notification) .setContentTitle("Заголовок уведомления") .setContentText("Текст уведомления") .setPriority(NotificationCompat.PRIORITY_DEFAULT); Notification notification = builder.build(); // Отправка уведомления через NotificationManager -
Uri.Builder: Создание URI с различными параметрами.
Uri builtUri = new Uri.Builder() .scheme("http") .authority("www.example.com") .appendPath("path") .appendQueryParameter("param1", "value1") .build(); -
ViewModelProvider.Builder: (В Lifecycle Architecture Components) Построение фабрики для ViewModel.
ViewModelProvider provider = new ViewModelProvider(activity, new ViewModelProvider.AndroidViewModelFactory(application)); MyViewModel viewModel = provider.get(MyViewModel.class);
Основные преимущества использования билдера:
- Улучшает читаемость кода при создании объектов с большим количеством необязательных параметров.
- Позволяет избежать создания множества конструкторов.
- Обеспечивает пошаговое построение объекта.
- Объект создается только после вызова метода
build().