Gözlemciler resmi olarak Rails 4.0'dan kaldırıldığında, diğer geliştiricilerin yerinde ne kullandığını merak ediyorum. (Çıkarılan mücevher kullanmak dışında.) Gözlemciler kesinlikle istismar edilmiş ve zaman zaman kolayca yararsızlaşabilirken, yararlı oldukları yerde önbellek temizliğinin dışında birçok kullanım durumu vardı.
Örneğin, bir modeldeki değişiklikleri izlemesi gereken bir uygulamayı ele alalım. Bir Gözlemci, Model A'daki değişiklikleri kolayca izleyebilir ve bu değişiklikleri Model B ile veritabanına kaydedebilir. Birkaç modeldeki değişiklikleri izlemek istiyorsanız, tek bir gözlemci bunu halledebilir.
Rails 4'te, diğer geliştiricilerin bu işlevselliği yeniden oluşturmak için Gözlemciler yerine hangi stratejileri kullandığını merak ediyorum.
Şahsen, bu değişikliklerin her model denetleyicisinin oluşturma / güncelleme / silme yönteminde izlendiği bir tür "yağ kontrolörü" uygulamasına yöneliyorum. Her denetleyicinin davranışını hafifçe şişirirken, tüm kod tek bir yerde olduğu için okunabilirliğe ve anlaşılmasına yardımcı olur. Dezavantajı, şimdi birkaç kontrolöre dağılmış benzer bir kod olmasıdır. Bu kodu yardımcı yöntemlere ayıklamak bir seçenektir, ancak yine de her yerde bulunan bu yöntemlere çağrılarla kaldınız. Dünyanın sonu değil, “sıska kontrolörler” ruhuyla da değil.
ActiveRecord geri çağrıları, başka bir olası seçenektir, ancak bence iki farklı modeli birbirine çok yakın birleştirmeye meyilli olduğu için kişisel olarak sevmiyorum.
Rails 4, Observers dünyasında, başka bir kayıt oluşturulduktan / güncellendi / yok edildikten sonra yeni bir kayıt oluşturmak zorunda olsaydınız, hangi tasarım desenini kullanırdınız? Yağ kontrolörleri, ActiveRecord geri çağrıları veya tamamen başka bir şey mi?
Teşekkür ederim.