2010-07-19 13 views
5

क्या कोई यहां नियंत्रक से डेटा को स्थानांतरित करने के लिए डीटीओ का उपयोग करता है? यदि हां, तो आप उन फ़ाइलों को संग्रहीत करने की सिफारिश करेंगे?/एप्स/डीटीओएस, और फिर उन्हें डीआईआर संरचना के विचारों को दर्पण करने दें? Rspec के साथ इन जानवरों का परीक्षण करने पर कोई सिफारिशें?रेल पर डीटी ऑब्जेक्ट्स पर रूबी - आप उन्हें कहां स्टोर करते हैं?

उत्तर

7

रेल सम्मेलन नियंत्रक के लिए वितरित स्तरों का उपयोग नहीं करना और परतों को देखना नहीं है। पृथक्करण वहां है, लेकिन यह जावा भूमि में दिखाई देने वाले ढांचे के प्रकारों की तुलना में तार्किक और अपेक्षाकृत पतला/हल्का है।

मूल आर्किटेक्चर यह है कि नियंत्रक आवृत्ति चर सेट करता है जो संबंधित दृश्य में उपलब्ध हैं। सामान्य मामले में, आवृत्ति चर मॉडल उदाहरण या डेटाबेस उदाहरणों के संग्रह (डेटाबेस से आ रहे) होंगे। मॉडल आपके व्यापार तर्क का मूल होना चाहिए। नियंत्रक डेटा के प्रवाह को समन्वयित करते हैं। दृश्य इसे प्रदर्शित करते हैं। हेल्पर्स का उपयोग दृश्य मूल्यों को प्रारूप में प्रारूपित करने के लिए किया जाता है ... कुछ भी जो मॉडल मान लेता है और केवल प्रदर्शन उद्देश्यों के लिए कुछ करता है (आप पाते हैं कि बार-बार उपयोग की जाने वाली एक सहायक विधि वास्तव में मॉडल पर बेहतर हो सकती है)।

हालांकि, आप पाते हैं कि एक दृश्य के कई अलग अलग मॉडल के ज्ञान की जरूरत है, आप इसे आसान अमूर्त के एक उच्च-स्तर पर एक और वस्तु में मॉडल रैप करने के लिए मिल सकते हैं। कुछ भी आपको गैर-सक्रिय-रिकॉर्ड ऑब्जेक्ट्स बनाने से रोकता है जो आपके वास्तविक एआर मॉडल एकत्र और समन्वयित करते हैं। फिर आप इन ऑब्जेक्ट्स को नियंत्रक में तुरंत चालू कर सकते हैं, और उन्हें दृश्य में उपलब्ध कर सकते हैं। इस प्रकार की चीज की आवश्यकता के लिए आपको आमतौर पर नियंत्रक में जटिलता के एक सुंदर घने स्तर पर होना चाहिए।

मैं क्षुधा/मॉडल में इस तरह की वस्तुओं फेंक जाते हैं - रेल पहले से ही इस निर्देशिका में सब कुछ लोड करता है, चीजों को देखने के एक config/उम्मीद बिंदु से आसान रहता है।

+0

धन्यवाद टोबी। यह थोड़ा सा उपयोग करने वाला है, लेकिन मैं थोड़ी सोच सोच रहा हूं। मैं अच्छी तरह से व्यक्त उत्तर की सराहना करता हूं। –

0

यदि आप .NET या J2EE पृष्ठभूमि से आ रहे हैं तो आप डीटीओ जैसे पैटर्न के बारे में सोच रहे हैं। आप यह जानकर आश्चर्यचकित हो सकते हैं (और संभवतः खुश) कि रेल इस तरह से काम नहीं करते हैं।

विशेष रूप से नियंत्रकों और विचारों के बीच क्रमबद्ध वस्तुओं को औपचारिक रूप से स्थानांतरित करने (या स्टोर) करने की आवश्यकता नहीं है। नियंत्रक में बनाए गए इंस्टेंस वैरिएबल (आमतौर पर मॉडल विशेषता मान) किसी भी अतिरिक्त प्रोग्रामिंग प्रयास के बिना ढांचे द्वारा प्रदत्त के रूप में उपलब्ध के भीतर उपलब्ध हैं।

0

मुझे जो बताया गया है वह यह है कि आम तौर पर यह काम 'सहायक' द्वारा संभाला जाता है। वे मूल रूप से देखने के भीतर से उपभोग देखने के लिए अपने मॉडल ऑब्जेक्ट्स को प्रारूपित करने में आपकी सहायता करते हैं। तो यह निश्चित रूप से अवधारणाओं का 1-1 मैपिंग नहीं है, लेकिन रेल की दुनिया में यह सोच है

1

कृपया अन्य उत्तरों को न सुनें। वे भयानक हैं। रेल सहायक मददगार हैं। हर जगह रेल मॉडल का उपयोग करना भयानक है। मैं आपसे भीख माँग रहा हूं, अपने आवेदन को सही तरीके से डिजाइन करें और फैसला करें कि आपको डीटीओ की आवश्यकता है या नहीं। तय करें कि क्या आप वास्तव में डेटाबेस के साथ संचार के अलावा चीजों को संभालने के लिए रेल मॉडल चाहते हैं। तय करें कि क्या आप वास्तव में अपने ऐप और रेल के बीच एक परत नहीं चाहते हैं और इतने पर और आगे। रेल डिज़ाइन केवल छोटे ऐप्स या ऐप्स के लिए उपयुक्त है जिन्हें बहुत तेज़ी से विकसित किया जाना है। लेकिन अगर यह कुछ मामूली नहीं है और आप इसे कुछ समय के लिए विकसित करने की उम्मीद करते हैं, तो कृपया अपना समय उचित डिजाइन में निवेश करें। रेल की सुविधा तोड़ने से डरो मत। और आपके साथ बल हो सकता है।

संबंधित मुद्दे