कहें कि मेरे पास एक नियंत्रक है जो उपयोगकर्ताओं की एक सूची देता है। यदि कैश कुंजी मौजूद है, तो उपयोगकर्ताओं को memcache से वापस किया जाना है, अन्यथा mysql db दबाएं। यह तर्क फिर से वेब सेवा परत या कुछ कहने में उपयोग किया जाएगा।रेल में, क्या हम एक नियंत्रक में तर्क को झुकाव के बजाय, एक सेवा परत नहीं बनाना चाहिए?
कार्रवाई:
def list
if in cache
@userlist = ...
else
@userlist = User.all()
end
end
जावा दुनिया में, आप एक UserService परत है कि अतिरिक्त तर्क लपेट (पहले कैश परत, आदि की जाँच की तरह) करेगे।
रेल में यह लोग इस तर्क को नियंत्रक में डाल देते हैं।
रेल की सर्वश्रेष्ठ अभ्यास क्या है?
आपको कुछ जवाब – Jimmy