2008-11-03 11 views
6

मुझे कई एप्लिकेशन बनाने की आवश्यकता है जो सभी एक Microsoft SQL सर्वर डेटाबेस साझा करते हैं। इनमें एएसपी.नेट वेब अनुप्रयोग, डब्ल्यूपीएफ डेस्कटॉप एप्लिकेशन, और शायद अब और फिर अजीब कंसोल ऐप शामिल हैं।मैं कई .NET अनुप्रयोगों में डीएएल और बीएलएल कैसे साझा करूं?

मैं अपने UI में, डेटा का उपयोग के लिए ADO.NET इकाई की रूपरेखा का उपयोग अपने व्यापार तर्क के लिए अपनी वस्तुओं का विस्तार, और बाध्य करने के लिए नियंत्रण के लिए उन वस्तुओं चाहते हैं।

मैं अपने प्रत्येक एप्लिकेशन में खुद को दोहराए बिना यह कैसे कर सकता हूं? यदि डेटाबेस स्कीमा या मेरा व्यवसाय तर्क बदलता है, तो मैं अपने सभी एप्लिकेशन को अपडेट करने के लिए एक आसान (या स्वचालित) तरीका चाहता हूं।

मुझे इस प्रणाली को कैसे आर्किटेक्ट करना चाहिए?


अद्यतन: अनुवर्ती सवाल मैंने पूछा है ...

उत्तर

9

है कि मैं एक दृश्य स्टूडियो समाधान है कि कई हों बनाने की सिफारिश करेंगे के लिए परियोजनाओं। आपका डीएएल अपनी परियोजना के भीतर निहित होगा, फिर उन अन्य परियोजनाओं के लिए जिन्हें उस कार्यक्षमता का उपयोग करने की आवश्यकता है, डीएएल परियोजना में एक परियोजना संदर्भ वापस बनाएं।

आशा है कि इससे मदद मिलती है!

3

एडमैलेक्स का विचार ध्वनि है। आपके सेटअप के आधार पर, एक और पसंदीदा दृष्टिकोण आम परियोजनाओं को अलग करना, संकलित करना है और फिर अपनी अन्य परियोजनाओं को इस संकलित डीएलएल का संदर्भ देना है। यह आपके ऊपर है यदि वे इस डीएल के नवीनतम निर्माण या इसके विशिष्ट संस्करण का संदर्भ देते हैं। शायद आप नहीं चाहते कि कुछ परियोजनाएं हर समय रहें।

+0

हाँ, इस बात से सहमत है कि इस दृष्टिकोण बस के रूप में एक मैं सुझाव के रूप में उचित है। हमेशा के रूप में, यह आपकी जरूरतों पर निर्भर करता है। –

2

शायद तुम डेटाबेस का उपयोग/तर्क को केंद्रीकृत करने webservices उपयोग कर सकते हैं ...

रूप link (SOA/WebServices/Remoting) से जवाब में देखा

+0

यदि यह कोई ओवरकिल नहीं है ... – bob

1

मैं एक नया दृश्य स्टूडियो बनाने की सलाह देते हैं समाधान जिसमें कई परियोजनाएं हैं। एक डीएएल/बीएलएल अलगाव के लिए मैं कक्षा पुस्तकालय का उपयोग करने की सिफारिश करता हूं। इस अमूर्तता को बनाने से आप इसे अन्य परियोजनाओं जैसे डब्लूसीएफ वेब सेवा द्वारा लपेटने की अनुमति देते हैं और इसे न केवल .NET सिस्टम - लेकिन संभावित रूप से अन्य सिस्टम के लिए खुलासा करते हैं।

एक बार जब आप इन क्लास लाइब्रेरी प्रोजेक्ट्स बनाते हैं तो आप उन्हें अपनी अन्य परियोजनाओं में संदर्भ जोड़ सकते हैं और उनका उपयोग कर सकते हैं। यह चिंताओं को स्पष्ट अलगाव रखने में मदद करेगा।

2

मैं आपको CSLA.Net को देखने का सुझाव दूंगा। यह आपको अपनी व्यावसायिक वस्तुओं को बनाने की अनुमति देता है जो आसानी से एकाधिक इंटरफेस (एएसपीनेट, डब्ल्यूपीएफ, चांदी की रोशनी, आदि) का समर्थन करते हैं। मुझे नहीं पता कि आप क्या बना रहे हैं लेकिन सीएसएलए इस बहुत अच्छी तरह से समर्थन करता है।

मेरे पास एक पावर प्वाइंट स्लाइड डेक है जो आपको CSLA के साथ जाने में मदद कर सकता है।

CSLA Slide Deck