Middle
Kun je praten over enkele 'builder'-ontwerppatronen in Android?
sobes.tech AI
Antwoord van AI
Het "Builder"-patroon wordt gebruikt om complexe objecten stapsgewijs te maken.
Voorbeelden van gebruik in Android:
-
AlertDialog.Builder: Het maken van dialoogvensters met de mogelijkheid om een titel, bericht, knoppen en andere eigenschappen op te geven.
new AlertDialog.Builder(context) .setTitle("Titel") .setMessage("Berichttekst") .setPositiveButton("OK", (dialog, which) -> { // Actie bij OK-klik }) .setNegativeButton("Annuleren", null) .show(); -
NotificationCompat.Builder: Het bouwen van meldingen voor de statusbalk.
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.ic_notification) .setContentTitle("Titel van de melding") .setContentText("Tekst van de melding") .setPriority(NotificationCompat.PRIORITY_DEFAULT); Notification notification = builder.build(); // Versturen van de melding via NotificationManager -
Uri.Builder: Het maken van URI's met verschillende parameters.
Uri builtUri = new Uri.Builder() .scheme("http") .authority("www.voorbeeld.com") .appendPath("pad") .appendQueryParameter("param1", "waarde1") .build(); -
ViewModelProvider.Builder: (In Lifecycle Architecture Components) Het bouwen van een fabriek voor ViewModel.
ViewModelProvider provider = new ViewModelProvider(activity, new ViewModelProvider.AndroidViewModelFactory(application)); MyViewModel viewModel = provider.get(MyViewModel.class);
Belangrijkste voordelen van het gebruik van de builder:
- Verbetert de leesbaarheid van de code bij het maken van objecten met veel optionele parameters.
- Voorkomt het maken van veel constructeurs.
- Zorgt voor stapsgewijze constructie van het object.
- Het object wordt pas gemaakt nadat de
build()-methode is aangeroepen.