Inilah pendapat saya tentang ketiganya:
Binding Data
Pada dasarnya, pada intinya ini hanya berarti "nilai properti X pada objek Y secara semantik terikat dengan nilai properti A pada objek B. Tidak ada asumsi yang dibuat tentang bagaimana Y mengetahui atau diberi makan perubahan pada objek B.
Observer, atau Observable / Observer
Suatu pola desain dimana suatu benda diimbuhi dengan kemampuan untuk memberi tahu orang lain tentang peristiwa tertentu - biasanya dilakukan dengan menggunakan peristiwa aktual, yang merupakan semacam slot seperti pada objek dengan bentuk fungsi / metode tertentu. Yang diamati adalah orang yang memberikan notifikasi, dan pengamat menerima notifikasi tersebut. Di .net, yang dapat diamati dapat mengekspos suatu peristiwa dan pengamat berlangganan acara tersebut dengan kait berbentuk "pengendali acara". Tidak ada asumsi yang dibuat tentang mekanisme spesifik yang terjadi notifikasi, atau tentang jumlah pengamat yang dapat diberitahukan.
Pub / Sub
Nama lain (mungkin dengan semantik "siaran") dari pola Observable / Observer, yang biasanya menyiratkan citarasa yang lebih "dinamis" - pengamat dapat berlangganan atau berhenti berlangganan notifikasi dan satu yang dapat diamati dapat "berteriak" ke banyak pengamat. Di .NET, orang dapat menggunakan acara standar untuk ini, karena acara adalah bentuk MulticastDelegate, dan juga dapat mendukung pengiriman acara ke beberapa pelanggan, dan juga mendukung berhenti berlangganan. Pub / Sub memiliki makna yang sedikit berbeda dalam konteks tertentu, biasanya melibatkan lebih banyak "anonimitas" antara peristiwa dan eventer, yang dapat difasilitasi oleh sejumlah abstraksi, biasanya melibatkan beberapa "perantara" (seperti antrian pesan) yang mengetahui semua pihak, tetapi masing-masing pihak tidak tahu tentang satu sama lain.
Binding Data, Redux
Dalam banyak pola "seperti MVC", yang dapat diamati memperlihatkan beberapa cara "pemberitahuan perubahan properti" yang juga berisi informasi tentang properti spesifik yang diubah. Pengamat tersirat, biasanya dibuat oleh kerangka kerja, dan berlangganan notifikasi ini melalui beberapa sintaks yang mengikat untuk secara khusus mengidentifikasi objek dan properti, dan "event handler" hanya menyalin nilai baru, berpotensi memicu pembaruan atau logika penyegaran.
Pengikatan data Redux
Implementasi alternatif untuk pengikatan data? Ok, ini yang bodoh:
- thread latar belakang dimulai yang secara konstan memeriksa properti terikat pada suatu objek.
- jika utas itu mendeteksi bahwa nilai properti telah berubah sejak pemeriksaan terakhir, salin nilainya ke item terikat.