Middle
Czy możesz opowiedzieć o niektórych wzorcach projektowych 'builder' w Android?
sobes.tech AI
Odpowiedź od AI
Wzorzec "Budowniczy" (Builder) służy do tworzenia złożonych obiektów krok po kroku.
Przykłady użycia w Android:
-
AlertDialog.Builder: Tworzenie dialogów z możliwością określenia tytułu, wiadomości, przycisków i innych właściwości.
new AlertDialog.Builder(context) .setTitle("Tytuł") .setMessage("Tekst wiadomości") .setPositiveButton("OK", (dialog, which) -> { // Działanie po kliknięciu OK }) .setNegativeButton("Anuluj", null) .show(); -
NotificationCompat.Builder: Budowa powiadomień dla paska stanu.
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.ic_notification) .setContentTitle("Tytuł powiadomienia") .setContentText("Tekst powiadomienia") .setPriority(NotificationCompat.PRIORITY_DEFAULT); Notification notification = builder.build(); // Wysyłanie powiadomienia przez NotificationManager -
Uri.Builder: Tworzenie URI z różnymi parametrami.
Uri builtUri = new Uri.Builder() .scheme("http") .authority("www.przyklad.com") .appendPath("sciezka") .appendQueryParameter("param1", "wartosc1") .build(); -
ViewModelProvider.Builder: (W komponentach architektury cyklu życia) Budowa fabryki dla ViewModel.
ViewModelProvider provider = new ViewModelProvider(activity, new ViewModelProvider.AndroidViewModelFactory(application)); MyViewModel viewModel = provider.get(MyViewModel.class);
Główne zalety korzystania z buildera:
- Poprawia czytelność kodu przy tworzeniu obiektów z dużą liczbą opcjonalnych parametrów.
- Pozwala uniknąć tworzenia wielu konstruktorów.
- Zapewnia krokowe budowanie obiektu.
- Obiekt jest tworzony dopiero po wywołaniu metody
build().