Middle
Tudsz néhány 'builder' tervezési mintáról az Androidban?
sobes.tech MI
Válasz az MI-től
A "Builder" minta lényegében összetett objektumokat lépésről lépésre hoz létre.
Android példák:
-
AlertDialog.Builder: Dialógusok létrehozása, amelyek lehetővé teszik a fejléc, üzenet, gombok és más tulajdonságok megadását.
new AlertDialog.Builder(context) .setTitle("Cím") .setMessage("Üzenet szövege") .setPositiveButton("OK", (dialog, which) -> { // Cselekvés az OK kattintásakor }) .setNegativeButton("Mégse", null) .show(); -
NotificationCompat.Builder: Értesítések építése az állapotsávhoz.
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.ic_notification) .setContentTitle("Értesítés címe") .setContentText("Értesítés szövege") .setPriority(NotificationCompat.PRIORITY_DEFAULT); Notification notification = builder.build(); // Értesítés küldése NotificationManager segítségével -
Uri.Builder: URI-k létrehozása különböző paraméterekkel.
Uri builtUri = new Uri.Builder() .scheme("http") .authority("www.pelda.com") .appendPath("utvonal") .appendQueryParameter("param1", "ertek1") .build(); -
ViewModelProvider.Builder: (Lifecycle Architecture Components-ben) Gyár építése ViewModel-hez.
ViewModelProvider provider = new ViewModelProvider(activity, new ViewModelProvider.AndroidViewModelFactory(application)); MyViewModel viewModel = provider.get(MyViewModel.class);
A builder használatának fő előnyei:
- Javítja a kód olvashatóságát, amikor sok opcionális paraméterrel rendelkező objektumokat hozunk létre.
- Elkerüli sok konstruktor létrehozását.
- Biztosítja az objektum lépésenkénti építését.
- Az objektum csak a
build()hívása után jön létre.