Middle
Poți vorbi despre unele modele de proiectare 'builder' în Android?
sobes.tech AI
Răspuns de la AI
Modelul de tip "Builder" (Constructor) este utilizat pentru a crea obiecte complexe pas cu pas.
Exemple de utilizare în Android:
-
AlertDialog.Builder: Crearea de dialoguri cu posibilitatea de a specifica titlul, mesajul, butoanele și alte proprietăți.
new AlertDialog.Builder(context) .setTitle("Titlu") .setMessage("Textul mesajului") .setPositiveButton("OK", (dialog, which) -> { // Acțiune la clic pe OK }) .setNegativeButton("Anulare", null) .show(); -
NotificationCompat.Builder: Construirea notificărilor pentru bara de stare.
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.ic_notification) .setContentTitle("Titlul notificării") .setContentText("Textul notificării") .setPriority(NotificationCompat.PRIORITY_DEFAULT); Notification notification = builder.build(); // Trimiterea notificării prin NotificationManager -
Uri.Builder: Crearea URI-urilor cu diferiți parametri.
Uri builtUri = new Uri.Builder() .scheme("http") .authority("www.exemplu.com") .appendPath("cale") .appendQueryParameter("param1", "valoare1") .build(); -
ViewModelProvider.Builder: (În componentele de arhitectură ale ciclului de viață) Construirea unei fabrici pentru ViewModel.
ViewModelProvider provider = new ViewModelProvider(activity, new ViewModelProvider.AndroidViewModelFactory(application)); MyViewModel viewModel = provider.get(MyViewModel.class);
Principalele avantaje ale utilizării builder-ului:
- Îmbunătățește lizibilitatea codului la crearea obiectelor cu mulți parametri opționali.
- Permite evitarea creării multor constructori.
- Asigură construcția pas cu pas a obiectului.
- Obiectul este creat doar după apelarea metodei
build().