Dengan Pengamat secara resmi dihapus dari Rails 4.0 , saya ingin tahu apa yang pengembang lain gunakan di tempat mereka. (Selain menggunakan permata yang diekstraksi.) Sementara Pengamat tentu saja dilecehkan dan dapat dengan mudah menjadi susah di kali, ada banyak kasus penggunaan di luar hanya cache-kliring di mana mereka menguntungkan.
Ambil, misalnya, aplikasi yang perlu melacak perubahan ke model. Pengamat dapat dengan mudah melihat perubahan pada Model A dan mencatat perubahan tersebut dengan Model B dalam database. Jika Anda ingin melihat perubahan di beberapa model, maka satu pengamat dapat mengatasinya.
Di Rails 4, saya ingin tahu strategi apa yang digunakan pengembang lain sebagai pengganti Pengamat untuk menciptakan kembali fungsionalitas itu.
Secara pribadi, saya condong ke arah semacam implementasi "pengendali lemak", di mana perubahan ini dilacak di setiap metode membuat / memperbarui / menghapus pengontrol model. Meskipun sedikit membesarkan perilaku masing-masing pengontrol, itu membantu dalam keterbacaan dan pemahaman karena semua kode berada di satu tempat. The downside adalah bahwa sekarang ada kode yang sangat mirip tersebar di beberapa pengontrol. Mengekstrak kode itu ke metode pembantu adalah sebuah opsi, tetapi Anda masih memiliki panggilan untuk metode-metode yang berserakan di mana-mana. Bukan akhir dunia, tetapi tidak cukup dalam semangat "pengendali kurus" juga.
Callback ActiveRecord adalah pilihan lain yang mungkin, meskipun yang saya pribadi tidak suka karena cenderung menyandingkan dua model yang berbeda terlalu dekat menurut pendapat saya.
Jadi di dunia Rails 4, dunia tanpa Pengamat, jika Anda harus membuat catatan baru setelah catatan lain dibuat / diperbarui / dihancurkan, pola desain apa yang akan Anda gunakan? Pengontrol gemuk, panggilan balik ActiveRecord, atau yang lainnya?
Terima kasih.