Middle
¿Puedes hablar sobre algunos patrones de diseño 'builder' en Android?
sobes.tech AI
Respuesta de la IA
El patrón "Constructor" (Builder) se utiliza para crear objetos complejos paso a paso.
Ejemplos de uso en Android:
-
AlertDialog.Builder: Creación de diálogos con la posibilidad de especificar título, mensaje, botones y otras propiedades.
new AlertDialog.Builder(context) .setTitle("Título") .setMessage("Texto del mensaje") .setPositiveButton("OK", (dialog, which) -> { // Acción al hacer clic en OK }) .setNegativeButton("Cancelar", null) .show(); -
NotificationCompat.Builder: Construcción de notificaciones para la barra de estado.
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.ic_notification) .setContentTitle("Título de la notificación") .setContentText("Texto de la notificación") .setPriority(NotificationCompat.PRIORITY_DEFAULT); Notification notification = builder.build(); // Envío de la notificación a través de NotificationManager -
Uri.Builder: Creación de URI con diferentes parámetros.
Uri builtUri = new Uri.Builder() .scheme("http") .authority("www.ejemplo.com") .appendPath("ruta") .appendQueryParameter("param1", "valor1") .build(); -
ViewModelProvider.Builder: (En los componentes de arquitectura del ciclo de vida) Construcción de una fábrica para ViewModel.
ViewModelProvider provider = new ViewModelProvider(activity, new ViewModelProvider.AndroidViewModelFactory(application)); MyViewModel viewModel = provider.get(MyViewModel.class);
Ventajas principales del uso del constructor:
- Mejora la legibilidad del código al crear objetos con muchos parámetros opcionales.
- Permite evitar la creación de múltiples constructores.
- Proporciona una construcción paso a paso del objeto.
- El objeto se crea solo después de llamar al método
build().