Sobes.tech
Middle

Môžeš hovoriť o niektorých vzorcoch návrhu 'builder' v Android?

sobes.tech AI

Odpoveď od AI

Vzor "Staviteľ" (Builder) sa používa na krokové vytváranie zložitých objektov.

Príklady použitia v Android:

  1. AlertDialog.Builder: Vytváranie dialógových okien s možnosťou určiť nadpis, správu, tlačidlá a ďalšie vlastnosti.

    new AlertDialog.Builder(context)
        .setTitle("Názov")
        .setMessage("Text správy")
        .setPositiveButton("OK", (dialog, which) -> {
            // Akcia pri kliknutí na OK
        })
        .setNegativeButton("Zrušiť", null)
        .show();
    
  2. NotificationCompat.Builder: Stavba oznámení pre panel stavu.

    NotificationCompat.Builder builder = new NotificationCompat.Builder(context, CHANNEL_ID)
        .setSmallIcon(R.drawable.ic_notification)
        .setContentTitle("Názov oznámenia")
        .setContentText("Text oznámenia")
        .setPriority(NotificationCompat.PRIORITY_DEFAULT);
    
    Notification notification = builder.build();
    // Odoslanie oznámenia cez NotificationManager
    
  3. Uri.Builder: Vytváranie URI s rôznymi parametrami.

    Uri builtUri = new Uri.Builder()
        .scheme("http")
        .authority("www.priklad.com")
        .appendPath("cesta")
        .appendQueryParameter("param1", "hodnota1")
        .build();
    
  4. ViewModelProvider.Builder: (V komponentách architektúry životného cyklu) Vytváranie továrne pre ViewModel.

    ViewModelProvider provider = new ViewModelProvider(activity, new ViewModelProvider.AndroidViewModelFactory(application));
    MyViewModel viewModel = provider.get(MyViewModel.class);
    

Hlavné výhody používania buildera:

  • Zlepšuje čitateľnosť kódu pri vytváraní objektov s veľkým množstvom voliteľných parametrov.
  • Umožňuje vyhnúť sa tvorbe viacerých konštruktorov.
  • Zabezpečuje krokové budovanie objektu.
  • Objekt je vytvorený až po volaní metódy build().