Keuntungan Menggunakan Delegate dan Skenario Penggunaannya

Reading Time: 3 minutes
Keuntungan Menggunakan Delegate dan Skenario Penggunaannya

Dalam tulisan sebelumnya, saya menjelaskan tentang apa itu delegate dan bagaimana cara menggunakan delegate. Dalam tulisan ini, saya akan menjelaskan apa keuntungan menggunakan delegate dan skenario penggunaanya.

Dulu, ketika awal-awal belajar C#, saya kesulitan untuk memahami apa keuntungan menggunakan delegate. Pada skenario apa penggunaan delegate diperlukan. Kebanyakan sumber-sumber di internet tidak menjelaskan hal-hal tersebut. Saya hanya menemukan sedikit, diantaranya ini dan ini.

Ada beberapa skenario dalam programming yang membutuhkan penggunaan delegate. Dalam tulisan ini, saya hanya akan menjelaskan satu skenario saja dulu. Dengan tujuan, teman-teman tahu dulu bahwa delegate itu ada gunanya. Untuk skenario yang lain, mungkin saya akan menuliskannya di tulisan-tulisan saya berikutnya.

Contoh Skenario Penggunaan Delegate dan Contoh Kodingannya

Pendaftaran adalah bagian yang sering ada dalam sebuah aplikasi. Agar tidak kembali mengulang membuat kodingan pendaftaran, lebih baik bagian pendaftaran tersebut dibuat menjadi sebuah pustaka atau komponen saja. Misal kita buat pustaka dll dengan nama pendaftaran.dll. Pustaka tersebut bisa digunakan kembali oleh kita suatu saat nanti, atau digunakan oleh programmer lainnya.

Ketika pendaftaran, biasanya ada fitur untuk mengirim link konfirmasi pendaftaran melalui suatu layanan, yang paling sering adalah menggunakan layanan E-Mail. Agar lebih dinamis, implementasi kodingan untuk mengirim link konfirmasi, sebaiknya tidak dimasukkan di dalam kodingan pustaka pendaftaran.dll. Impelementasi kodingannya sebaiknya diserahkan pada si programmer pengguna pustaka. Mungkin kalian berpikir, “layanan yang dipake sekarang paling hanya E-Mail, SMS dan WA, langsung saja buat kodingannya di dalam pustakanya”. Itu pemikiran yang salah, bisa saja suatu saat ada layanan baru yang muncul, misalnya layanan yang mirip dengan WA. Ketika pengguna aplikasi menginginkan aplikasi bisa mengirim melalui layanan itu, maka pustaka buatan kita belum siap.

Pustaka pendaftaran yang akan kita buat adalah pustaka yang membiarkan penggunanya membuat sendiri implementasi kodingan untuk mengirim link konfirmasi pendaftarannya. Agar si pengguna pustaka Pendaftaran.dll bisa menyambungkan implementasi kodingan buatannya, kita bisa menggunakan delegate di dalam kodingan pustaka tersebut. Perhatikan contoh kodingan berikut.

Misalkan, ada programmer yang menggunakan pustaka di atas. Dia diminta projek manager agar aplikasi bisa mengirimkan link konfirmasi pendaftarannya melalui WA. Kodingannya kira-kira begini.

Poin penting dari contoh kodingan di atas adalah :

  1. Nama delegate bisa dijadikan tipe parameter dalam suatu fungsi
  2. Fungsi yang memiliki parameter dengan tipe nama delegate bisa menerima masukan argumen sebuah fungsi ketika dipanggil. Asalkan memiliki signature yang sama.

Keuntungan Menggunakan Delegate

Delegate bisa digunakan untuk membangun sistem yang dinamis(bisa dengan mudah dikembangkan). Untuk skenario diatas, jika ada programmer yang menginginkan aplikasi bisa mengirimkan link konfirmasi pendaftaran melalui layanan yang baru, dia tidak perlu merubah pustaka Pendaftaran.dll. Dia hanya perlu membuat implementasi kodingan untuk mengirim link konfirmasi pendaftarannya .

Bagikan artikel

Tinggalkan Balasan

  1. Ping-balik: Multicast Delegate dalam Bahasa C#