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:
-
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(); -
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 -
Uri.Builder: Farklı parametrelerle URI oluşturma.
Uri builtUri = new Uri.Builder() .scheme("http") .authority("www.ornek.com") .appendPath("yol") .appendQueryParameter("param1", "deger1") .build(); -
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.