Middle
Podes falar sobre alguns padrões de projeto 'builder' no Android?
sobes.tech IA
Resposta da IA
O padrão "Construtor" (Builder) é usado para criar objetos complexos passo a passo.
Exemplos de uso em Android:
-
AlertDialog.Builder: Criação de diálogos com a possibilidade de especificar título, mensagem, botões e outras propriedades.
new AlertDialog.Builder(context) .setTitle("Título") .setMessage("Texto da mensagem") .setPositiveButton("OK", (dialog, which) -> { // Ação ao clicar em OK }) .setNegativeButton("Cancelar", null) .show(); -
NotificationCompat.Builder: Construção de notificações para a barra de estado.
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.ic_notification) .setContentTitle("Título da notificação") .setContentText("Texto da notificação") .setPriority(NotificationCompat.PRIORITY_DEFAULT); Notification notification = builder.build(); // Envio da notificação através do NotificationManager -
Uri.Builder: Criação de URI com diferentes parâmetros.
Uri builtUri = new Uri.Builder() .scheme("http") .authority("www.exemplo.com") .appendPath("caminho") .appendQueryParameter("param1", "valor1") .build(); -
ViewModelProvider.Builder: (Nos componentes de arquitetura do ciclo de vida) Construção de uma fábrica para ViewModel.
ViewModelProvider provider = new ViewModelProvider(activity, new ViewModelProvider.AndroidViewModelFactory(application)); MyViewModel viewModel = provider.get(MyViewModel.class);
Vantagens principais do uso do builder:
- Melhora a legibilidade do código ao criar objetos com muitos parâmetros opcionais.
- Permite evitar a criação de múltiplos construtores.
- Garante uma construção passo a passo do objeto.
- O objeto é criado somente após a chamada do método
build().