डेटा-केंद्रित एप्लिकेशन क्या है और क्या ऑब्जेक्ट उन्मुख एप्लिकेशन मॉडल के साथ कोई अंतर है?डाटा-केंद्रित और ऑब्जेक्ट उन्मुख अनुप्रयोग मॉडल के बीच क्या अंतर है?
उत्तर
दो अवधारणाएं कुछ हद तक ऑर्थोगोनल हैं, Data Centric Application वह स्थान है जहां डेटाबेस एक महत्वपूर्ण भूमिका निभाता है, जहां डेटाबेस में गुण आपके एप्लिकेशन में चल रहे कोड पथ को प्रभावित कर सकते हैं और जहां कोड अधिक सामान्य और सभी/सबसे व्यवसायिक तर्क है डेटाबेस संबंधों और बाधाओं के माध्यम से परिभाषित किया गया है। ओओपी का उपयोग डेटा केंद्रित एप्लिकेशन बनाने के लिए किया जा सकता है।
कुछ बड़े multi-tier आर्किटेक्चर जो लोग कहते हैं कि ओओपी आर्किटेक्चर कोड में व्यावसायिक तर्क लागू करते हैं और डेटा को डेटाबेस में संग्रहीत करते हैं। हालांकि, यह सोचना गलत होगा कि ऑब्जेक्ट ओरिएंटेड डिज़ाइन को जरूरी रूप से एक बड़ा व्यवसाय तर्क सवार सिस्टम होना चाहिए।
कहें कि आपको दो सिस्टम के बीच संदेश भेजने को लागू करना है। एक तरीका (हालांकि एक बुरा तरीका) यह है कि प्रत्येक सिस्टम डेटाबेस को संदेश लिखता है और दूसरी प्रणाली डेटाबेस को पढ़ने के लिए हर बार डेटाबेस से पढ़ती है। यह डेटा केंद्रित दृष्टिकोण होगा क्योंकि डेटा पढ़ने और लिखने के अलावा बहुत कम कोड आवश्यक है।
सिस्टम को एक दूसरे के साथ सॉकेट कनेक्शन खोलने और सीधे संदेश भेजने के द्वारा लागू किया जा सकता है। इस तरह से अधिक कोड और कम डेटाबेस पहुंच है। यह गैर-डेटासेंट्रिक दृष्टिकोण है। इनमें से कोई भी ओओपी अवधारणाओं का उपयोग करके लागू किया जा सकता है।
मेरे काम से एक और उदाहरण हम गेम के लिए सर्वर लागू करते हैं, एक प्रकार का सर्वर मल्टी-प्लेयर गेम प्ले को संभालता है ताकि उपयोगकर्ता बटन दबाए और स्पेसशिप अन्य खिलाड़ी पर मिसाइल निकाल सके। यह सर्वर डेटासेंटरिक नहीं है यह घटना आधारित है। एक अन्य सर्वर उपयोगकर्ताओं को उच्च स्कोर, मित्र सूचियां आदि संग्रहीत करता है। यह सर्वर डेटाबेस पर पतला रैपर है जो स्कोर और सूचियों को संग्रहीत करता है।
उत्तर के लिए धन्यवाद। क्या आप अधिक जानकारी प्रदान कर सकते हैं जो आप कहते हैं "यदि आपकी वस्तुएं सामान्य हैं तो आपका आवेदन अभी भी डेटा केंद्रित हो सकता है"? –
कुछ उदाहरणों के लिए संपादित किया गया –
डेटा केंद्रित डिज़ाइन वह है जहां एप्लिकेशन व्यवहार डेटा द्वारा encapsulated है। एक साधारण उदाहरण। निम्नलिखित ओओपी कक्षा पर विचार करें:
class Car {
void move(x, y);
private:
int x, y;
}
यह एक कार का ओओपी प्रतिनिधित्व है। 'चाल' विधि का आह्वान करने से गाड़ी चलने शुरू हो जाएगी। दूसरे शब्दों में, किसी भी दुष्प्रभाव कक्षा विधियों का आह्वान करके ट्रिगर किया जाता है।
यहाँ एक ही कक्षा है, लेकिन डेटा केंद्रित:
class Car {
int x, y;
}
आदेश में इस कार चलती पाने के लिए, मैं "बस" x और y के मूल्यों को बदल जाएगा। अधिकांश प्रोग्रामिंग भाषाओं में बदलते सदस्यों में तर्क के निष्पादन की अनुमति नहीं दी जाएगी, यही कारण है कि डेटा केंद्रितता को अक्सर ढांचे की आवश्यकता होती है।
ऐसे ढांचे में, तर्क सीआरयूडी के सी, यू और डी पर चलाया जाता है।इस तरह के एक ढांचे के उदाहरण के लिए, इन घटनाओं में से किसी में कोड प्रविष्टि सक्षम करने के लिए उचित सुविधाएं प्रदान करेगा:
- डीबीएमएस चलाता है
- OMG DDS waitsets/श्रोताओं (DDS एक डेटा केंद्रित मैसेजिंग मानक है)
- पर्यवेक्षकों Corto
डाटा केंद्रित डिजाइन (Corto एक डेटा केंद्रित अनुप्रयोग फ्रेमवर्क है) कई प्रभाव। उदाहरण के लिए, चूंकि एक आवेदन स्थिति प्रभावी रूप से इसके डेटा द्वारा दर्शायी जाती है, इसलिए आप स्वचालित रूप से एप्लिकेशन को जारी रख सकते हैं। एक अच्छी तरह से लिखित डेटा केंद्रित आवेदन डेटाबेस से संग्रहीत, बंद और बहाल किया जा सकता है, और जारी रखें जैसे कि यह कभी नहीं चला गया था।
डेटा केंद्रित डिजाइन पारंपरिक 3 स्तरीय वेब आर्किटेक्चर के लिए एक अच्छा मिलान है। वेब अनुप्रयोग आमतौर पर बैकएंड डेटाबेस की सामग्री द्वारा संचालित होते हैं। यही कारण है कि, जब आप गतिशील वेबपृष्ठ को बंद और दोबारा खोलते हैं, तो यह अभी भी वही दिखता है (बशर्ते डेटा नहीं बदला गया हो)।
- 1. ऑब्जेक्ट उन्मुख और दस्तावेज़ डेटाबेस के बीच क्या अंतर है?
- 2. साक्षात्कार प्रश्न: ऑब्जेक्ट और ऑब्जेक्ट उन्मुख भाषाओं के बीच अंतर
- 3. घटक-उन्मुख और ऑब्जेक्ट उन्मुख भाषा के बीच क्या अंतर है?
- 4. क्या मोंगोडीबी ऑब्जेक्ट उन्मुख है?
- 5. संदेश उन्मुख प्रोटोकॉल और स्ट्रीम उन्मुख प्रोटोकॉल के बीच अंतर
- 6. ग्राफ-आधारित डेटाबेस और ऑब्जेक्ट उन्मुख डेटाबेस के बीच क्या अंतर है?
- 7. ऑब्जेक्ट उन्मुख पर्ल में पैकेज, मॉड्यूल और कक्षा के बीच क्या अंतर है?
- 8. प्रक्रियात्मक कार्यक्रम और ऑब्जेक्ट उन्मुख प्रोग्राम के बीच क्या अंतर है?
- 9. मॉडल के बीच अंतर और मॉडल देखें
- 10. ऑब्जेक्ट और * के बीच अंतर?
- 11. विंडोज और कंसोल अनुप्रयोग के बीच अंतर
- 12. केकफ़्पी - मॉडल और व्यवहार के बीच क्या अंतर है?
- 13. वेबसाइट और वेब अनुप्रयोग के बीच अंतर?
- 14. जीओएफ और जीआरएसपी डिजाइन पैटर्न के बीच क्या अंतर है
- 15. setattr() और ऑब्जेक्ट .__ setattr __() के बीच क्या अंतर है?
- 16. पर्ल में ऑब्जेक्ट और क्लास के बीच क्या अंतर है?
- 17. कक्षाओं और ऑब्जेक्ट उदाहरणों के बीच क्या अंतर है?
- 18. के बीच क्या अंतर है? और जावा जेनरिक में ऑब्जेक्ट?
- 19. मॉडल एट्रिब्यूट और कमांडनाम के बीच अंतर
- 20. दृश्य मॉडल और डेटा स्थानांतरण ऑब्जेक्ट के बीच क्या अंतर है?
- 21. किसी ऑब्जेक्ट और हैश के बीच अंतर?
- 22. किसी ऑब्जेक्ट और डिक्शनरी के बीच अंतर?
- 23. स्तरीय बनाम परत अनुप्रयोग के बीच क्या अंतर है?
- 24. '{' और '[' के बीच अंतर JSON ऑब्जेक्ट
- 25. क्या 32-बिट .NET अनुप्रयोग और 64-बिट .NET अनुप्रयोग के बीच कोई अंतर है?
- 26. क्या मेरा PHP कोड ऑब्जेक्ट उन्मुख है?
- 27. PHP में :: और -> के बीच अंतर?
- 28. JSON और जावास्क्रिप्ट ऑब्जेक्ट के बीच अंतर क्या हैं?
- 29. # {} $ {} और% {} के बीच क्या अंतर है?
- 30. [अपरिभाषित] और [,] के बीच क्या अंतर है?
क्या आप अपने प्रश्न के साथ कुछ संदर्भ प्रदान कर सकते हैं? –
[1]: http://en.wikipedia.org/wiki/Database-centric_architecture [2]: http://en.wikipedia.org/wiki/Object-oriented_programming –
मैं एक वितरित वास्तुकला के बारे में एक पुस्तक पढ़ रहा हूं और एक आवेदन ढांचा कैसे बनाना है। डेटा-केंद्रित और ओओ एप्लिकेशन मॉडल की एक बात है लेकिन मैं इसके बारे में ज्यादा नहीं समझ सका। फिर मैं इसे गूगल करता हूं, लेकिन मुझे इस तुलना के बारे में ज्यादा जानकारी नहीं मिली। –