Sobes.tech
Middle

Можеш ли да говориш о неким образцима дизајна 'builder' у Android-у?

sobes.tech АИ

Одговор од АИ

Шаблон "Graditelj" (Builder) се koristi za postepeno kreiranje složenih objekata.

Primeri upotrebe u Androidu:

  1. AlertDialog.Builder: Kreiranje dijaloga sa mogućnošću da se odredi naslov, poruka, dugmići i druge osobine.

    new AlertDialog.Builder(context)
        .setTitle("Naslov")
        .setMessage("Tekst poruke")
        .setPositiveButton("OK", (dialog, which) -> {
            // Akcija na klik OK
        })
        .setNegativeButton("Otkaži", null)
        .show();
    
  2. NotificationCompat.Builder: Izgradnja obaveštenja za statusnu traku.

    NotificationCompat.Builder builder = new NotificationCompat.Builder(context, CHANNEL_ID)
        .setSmallIcon(R.drawable.ic_notification)
        .setContentTitle("Naslov obaveštenja")
        .setContentText("Tekst obaveštenja")
        .setPriority(NotificationCompat.PRIORITY_DEFAULT);
    
    Notification notification = builder.build();
    // Slanje obaveštenja putem NotificationManager
    
  3. Uri.Builder: Kreiranje URI sa različitim parametrima.

    Uri builtUri = new Uri.Builder()
        .scheme("http")
        .authority("www.primjer.com")
        .appendPath("put")
        .appendQueryParameter("param1", "vrijednost1")
        .build();
    
  4. ViewModelProvider.Builder: (U komponentama arhitekture životnog ciklusa) Kreiranje fabrike za ViewModel.

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

Glavne prednosti korišćenja builder-a:

  • Poboljšava čitljivost koda pri kreiranju objekata sa mnogo opcionalnih parametara.
  • Omogućava izbegavanje kreiranja više konstruktora.
  • Osigurava postepenu izgradnju objekta.
  • Objekat se kreira tek nakon poziva metode build().