आपकी राय (sic) विशेष रूप से CodeIgniters कार्यान्वयन के बारे में इस पद्धति का क्या है?
सीआई के कार्यान्वयन के बारे में ज्यादा कुछ नहीं कह सकता है। आम तौर पर मैं कुछ भी सरल अनुप्रयोगों के लिए एआर से बचता हूं। यदि तालिका मेरी व्यावसायिक वस्तुओं के लिए 1: 1 से मेल नहीं खाती है, तो मैं एआर का उपयोग नहीं करता, क्योंकि यह एप्लिकेशन को मॉडलिंग को मुश्किल बना देगा। मुझे अपनी व्यावसायिक वस्तुओं के लिए दृढ़ता परत को जोड़ने के विचार को भी पसंद नहीं है। यह चिंताओं को अलग करने का उल्लंघन है। एक उत्पाद को क्यों पता होना चाहिए कि खुद को कैसे बचाया जाए? आगे पढ़ने: http://kore-nordmann.de/blog/why_active_record_sucks.html
संपादित@kemp की टिप्पणी के बाद, मैं सीआई उपयोगकर्ता गाइड को देखा देखने के लिए कैसे वे ए आर कार्यान्वित:
आप PoEAA में देख सकते हैं एक एआर एक वस्तु है जो किसी डेटाबेस तालिका या दृश्य में एक पंक्ति को लपेटता है, डेटाबेस पहुंच को समाहित करता है, और उस डेटा पर डोमेन तर्क जोड़ता है। यह नहीं है कि सीआई क्या करता है। यह सिर्फ प्रश्न बनाने के लिए एक एपीआई प्रदान करता है। मुझे समझ में आया कि एक मॉडल वर्ग है जो एआर बढ़ाता है और जिसका उपयोग व्यावसायिक वस्तुओं के निर्माण के लिए किया जा सकता है, लेकिन यह Row Data Gateway की तरह अधिक होगा। वैकल्पिक कार्यान्वयन के लिए PHPActiveRecord देखें।
क्या किसी अन्य परत में डेटाबेस को लपेटने के साथ कोई गति समस्या है?
जब भी आप किसी अन्य चीज़ में कुछ सार या लपेटते हैं, तो आप सुनिश्चित कर सकते हैं कि यह कच्चे होने पर प्रदर्शन प्रभाव के साथ आता है। सवाल यह है कि, यह आपके आवेदन के लिए स्वीकार्य है। बेंचमार्किंग का पता लगाने का एकमात्र तरीका है। इसके अलावा पढ़ना: https://stackoverflow.com/search?q=orm+slow
संपादित सीआई के सरल क्वेरी इमारत एपीआई के मामले में, मैं प्रदर्शन प्रभाव ग्रहण करता हूँ neglectable किया जाना है।प्रश्नों को इकट्ठा करने से डीबी एडाप्टर को कच्चे एसक्यूएल स्ट्रिंग को पास करने के बजाय तार्किक रूप से कुछ और समय लगेगा, लेकिन यह केवल माइक्रोसेकंड होना चाहिए। और जहां तक मैंने इसे उपयोगकर्ता मार्गदर्शिका में देखा है, आप क्वेरी स्ट्रिंग को कैश भी कर सकते हैं। लेकिन जब संदेह में, बेंचमार्क।
क्या यह जटिल (जटिल) जटिल जटिलताओं को बनाने की कोशिश करते समय गन्दा हो जाता है?
आपके प्रश्नों पर निर्भर करता है। मैंने बहुत गन्दा एसक्यूएल प्रश्न देखा है। ओओ इंटरफ़ेस के माध्यम से व्यक्त किए जाने पर वे सुंदर नहीं होते हैं। एपीआई के आधार पर, आपको ऐसे प्रश्न मिल सकते हैं जिन्हें आप इसके माध्यम से व्यक्त नहीं कर पाएंगे। लेकिन फिर, यह आपके प्रश्नों पर निर्भर करता है।
नुकसान के तरीके क्या फायदे हैं?
केवल आप ही निर्णय ले सकते हैं। यदि यह आपके जीवन को प्रोग्रामर के रूप में आसान बनाता है, तो क्यों नहीं। यदि यह आपकी प्रोग्रामिंग आवश्यकताओं को फिट करता है, हाँ। रेल पर रूबी उस (एआर) अवधारणा पर भारी रूप से निर्माण कर रही है, इसलिए यह सब बुरा नहीं हो सकता है (हालांकि हम इसके बारे में भी बहस कर सकते हैं :))
+1 एआर के लाभ नकारात्मक से कहीं अधिक हैं ... –
मैं इसके बारे में सोच रहा था। बहुत बढ़िया जवाब, धन्यवाद लड़का! – mdgrech