मैं एक प्रोजेक्ट शुरू कर रहा हूं और हमारे डेटा एक्सेस लेयर के लिए आर्किटेक्चर के साथ संघर्ष कर रहा हूं। असल में इसे विभिन्न डेटाबेस डिज़ाइनों के साथ एकाधिक बैकएंड के साथ इंटरफ़ेस करने की आवश्यकता होगी।एकाधिक बैकएंड और विभिन्न डेटाबेस डिज़ाइनों के साथ डेटा एक्सेस लेयर
मैं एक आम दाल, जो तब किसी भी बैकएंड में एक आम फ़ंक्शन निष्पादित करना चाहते हैं। बैकएंड में डालने, अद्यतन करने आदि के लिए अद्वितीय कोड होता है। इसलिए 1 बैकएंड में एक कर्मचारी को जोड़ने से दूसरे में अलग-अलग कोड होंगे।
मैं भंडार पैटर्न की कोशिश की लेकिन वह सिर्फ स्थिति के लिए लागू नहीं होता। मैं सिर्फ एक कारखाना पैटर्न विधि के साथ समाप्त हो गया है, लेकिन मैं प्रत्येक वस्तु के लिए एक फैक्टरी बनाने समाप्त हो जाएगा। मैं शायद ही 1 कारखाने आदि
बना सकते हैं, लेकिन फिर बैकएंड वस्तु "SaveEmployee", "SavePlan" जैसे कार्यों के सौ है, अभी मैं निम्नलिखित है:
DAL
--> DAL.Backend1
--> Employee.Save(employee)
--> Plan.Save(plan)
--> DAL.Backend2
--> Employee.Save(employee)
--> Plan.Save(plan)
दाल परियोजना में मेरे पास प्रत्येक ऑब्जेक्ट, कर्मचारी, योजना के लिए एक फैक्टरी पैटर्न है, यह तय करने के लिए कि कौन सी डीएएल का ऑब्जेक्ट वापस लौटना और निष्पादित करना है।
मैं बहुत यकीन है कि यह इसके लिए सबसे अच्छा वास्तुकला नहीं है कर रहा हूँ, इसलिए मेरी समस्या को हल करने का उपयोग करने के लिए एक बेहतर पैटर्न है कि अगर मैं सोच रहा हूँ।
कम पूरी तरह से गतिशील जा रहा है और गतिशील CRUD बयान के निर्माण, आप ठोस कार्यक्षमता कहीं करने के लिए जा रहे हैं। यदि आप इसे डेटाबेस में नहीं चाहते हैं, तो मुझे लगता है कि जिस मार्ग पर आप गए हैं वह सबसे अच्छा मार्ग है। –
मैं आमतौर पर समग्र पैटर्न में जाता हूं। – Malk
"विभिन्न डेटाबेस डिज़ाइन" को परिभाषित करें। आपका मतलब है - एक एसक्यूएल, एक एक्सएमएल, एक नोएसक्ल है? या हम विभिन्न संबंधपरक डेटाबेस के बारे में बात करते हैं? – TomTom