एएसपी.NET एमवीसी के साथ काम करने के बाद, यह मुझे रेल के बारे में सोच रहा है। मैंने पहले रेल के साथ काम किया, लेकिन थोड़ा जंगली हूँ। ASP.Net एमवीसी ट्यूटोरियल रिपोजिटरी पैटर्न के साथ डेटा लेयर कार्यान्वयन छिपाने की पुनर्मूल्यांकन। यह यूनिट परीक्षण के लिए easiesr निर्भरता इंजेक्शन, और मॉडल कार्यान्वयन से नियंत्रक के अच्छे decoupling की अनुमति देता है।रिपोजिटरी पैटर्न के साथ रेल पर रूबी?
मैं सक्रिय रिकॉर्ड वस्तुओं सीधे का उपयोग कर रेल 'नियंत्रकों, और इकाई परीक्षण परीक्षण डेटाबेस सेटअप और आसानी से गिराया गया हो सकता है का उपयोग करते हुए याद है। इससे यूनिट परीक्षण के लिए स्वैप करने की ज़रूरत होती है, लेकिन फिर भी यह कंट्रोलर में इतने सक्रिय ActiveRecord कोड का खुलासा करने के लिए एक बुरा विचार लगता है।
तो मेरे सवाल है, क्या नवीनतम सबसे अच्छा अभ्यास यहाँ है? वास्तविक (मजाक नहीं) डेटाबेस अभी भी यूनिट परीक्षण के लिए उपयोग किए जाते हैं? क्या रेल डेवलपर सीधे ActiveRecord को कॉल करते हैं, या एक अमूर्तता?
हाँ 1000x यह डेटा परत का गठन करता है। यह विक्रेता-विशिष्ट एसक्यूएल तारों का उपयोग करने के रूप में काफी कसकर नहीं है, लेकिन अधिकांश भाग के लिए एआर कक्षाएं डेटाबेस तालिकाओं के साथ 1 से 1 मानचित्र बनाती हैं। यह (और यह आमतौर पर रेलों के बारे में सच है) प्रोग्रामिंग की एक शैली को प्रोत्साहित करता है जिसमें व्यापार वस्तुओं और डीबी टेबल के बीच कोई अंतर नहीं होता है। आरपी विशेष रूप से इस भेद को बनाने के लिए डिज़ाइन किया गया है। – Jonah