Sobes.tech
Middle

Android'de bazı 'builder' tasarım desenlerinden bahsedebilir misin?

sobes.tech yapay zeka

AI'dan gelen yanıt

Yapılandırıcı (Builder) deseni, karmaşık nesnelerin adım adım oluşturulması için kullanılır.

Android'de kullanım örnekleri:

  1. AlertDialog.Builder: Başlık, mesaj, düğmeler ve diğer özellikleri belirterek diyaloglar oluşturma.

    new AlertDialog.Builder(context)
        .setTitle("Başlık")
        .setMessage("Mesaj metni")
        .setPositiveButton("Tamam", (dialog, which) -> {
            // Tamam düğmesine tıklanınca yapılacaklar
        })
        .setNegativeButton("İptal", null)
        .show();
    
  2. NotificationCompat.Builder: Durum çubuğu için bildirimler oluşturma.

    NotificationCompat.Builder builder = new NotificationCompat.Builder(context, CHANNEL_ID)
        .setSmallIcon(R.drawable.ic_notification)
        .setContentTitle("Bildirim başlığı")
        .setContentText("Bildirim metni")
        .setPriority(NotificationCompat.PRIORITY_DEFAULT);
    
    Notification notification = builder.build();
    // NotificationManager aracılığıyla bildirimi gönder
    
  3. Uri.Builder: Farklı parametrelerle URI oluşturma.

    Uri builtUri = new Uri.Builder()
        .scheme("http")
        .authority("www.ornek.com")
        .appendPath("yol")
        .appendQueryParameter("param1", "deger1")
        .build();
    
  4. ViewModelProvider.Builder: (Yaşam döngüsü mimarisi bileşenlerinde) ViewModel için fabrika oluşturma.

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

Builder kullanmanın temel avantajları:

  • Çok sayıda isteğe bağlı parametre içeren nesnelerin oluşturulmasında kod okunabilirliğini artırır.
  • Birden fazla yapıcı (constructor) oluşturmayı önler.
  • Nesnenin adım adım inşasını sağlar.
  • Nesne yalnızca build() yöntemi çağrıldıktan sonra oluşturulur.