Dalam aplikasi Rails kami, kami menambahkan pemberitahuan. Beberapa di antaranya adalah blocking
: Mereka menghentikan kemajuan sumber daya apa pun yang mereka tambahkan, karena beberapa informasi tentang sumber daya itu hilang.
Pemberitahuan lainnya adalah pemberitahuan sederhana, dan hanya memberikan informasi.
Hari ini saya berdiskusi dengan programmer lain di tim kami. Saya telah membuat struktur warisan seperti ini:
Namun dia, lebih suka saya hanya menambahkan blocking
sebagai metode pengembalian boolean pada setiap Pemberitahuan, dan tentukan daftar subkelas yang memblokir di dalam kelas induk Pemberitahuan.
Perbedaan antara pendekatan ini tidak terlalu besar; dalam pendekatan saya seseorang tidak harus menentukan daftar ini, menjaga pembersih kelas root. Di sisi lain, logika khusus yang terjadi Notification::Blocking
saat ini juga tidak terlalu besar.
Jenis abstraksi apa yang lebih cocok untuk masalah ini?