आधिकारिक तौर पर रेल 4.0 से हटाए गए पर्यवेक्षकों के साथ , मैं उत्सुक हूं कि अन्य डेवलपर्स अपने स्थान पर क्या उपयोग कर रहे हैं। (निकाले गए मणि का उपयोग करने के अलावा।) जबकि पर्यवेक्षकों को निश्चित रूप से दुर्व्यवहार किया गया था और कई बार आसानी से बेवजह बन सकते थे, बस कैश-समाशोधन के बाहर कई उपयोग-मामले थे जहां वे फायदेमंद थे।
उदाहरण के लिए, एक एप्लिकेशन जिसे एक मॉडल में परिवर्तनों को ट्रैक करने की आवश्यकता है। एक पर्यवेक्षक आसानी से मॉडल ए पर परिवर्तन के लिए देख सकता है और डेटाबेस में मॉडल बी के साथ उन परिवर्तनों को रिकॉर्ड कर सकता है। यदि आप कई मॉडलों में बदलाव देखना चाहते हैं, तो एक एकल पर्यवेक्षक इसे संभाल सकता है।
रेल 4 में, मैं उत्सुक हूं कि अन्य डेवलपर्स पर्यवेक्षकों के स्थान पर उन कार्यक्षमता का उपयोग करने के लिए कौन सी रणनीतियों का उपयोग कर रहे हैं।
व्यक्तिगत रूप से, मैं "वसा नियंत्रक" कार्यान्वयन के एक प्रकार की ओर झुक रहा हूं, जहां ये परिवर्तन प्रत्येक मॉडल नियंत्रक के निर्माण / अद्यतन / हटाने की विधि में ट्रैक किए जाते हैं। हालांकि यह प्रत्येक नियंत्रक के व्यवहार को थोड़ा धुंधला करता है, यह पठनीयता और समझ में मदद करता है क्योंकि सभी कोड एक ही स्थान पर हैं। नकारात्मक पक्ष यह है कि अब कोड है जो कई नियंत्रकों में बहुत समान है। उस कोड को सहायक विधियों में निकालना एक विकल्प है, लेकिन आप अभी भी उन तरीकों से कॉल करने से बचे हैं, जो हर जगह फिसड्डी हैं। दुनिया का अंत नहीं, लेकिन "स्कीनी नियंत्रकों" की भावना में भी नहीं।
ActiveRecord कॉलबैक एक अन्य संभावित विकल्प है, हालांकि एक मैं व्यक्तिगत रूप से पसंद नहीं करता हूं क्योंकि यह दो अलग-अलग मॉडलों को मेरी राय में एक साथ बहुत करीब से जोड़े।
तो रेल 4, नो-ऑब्जर्वर दुनिया में, यदि आपको एक और रिकॉर्ड बनाने / अपडेट / नष्ट होने के बाद एक नया रिकॉर्ड बनाना था, तो आप किस डिज़ाइन पैटर्न का उपयोग करेंगे? वसा नियंत्रक, ActiveRecord कॉलबैक, या पूरी तरह से कुछ और?
धन्यवाद।