पिछली पोस्ट (Architecture: simple CQS) के परिणामस्वरूप मैं सोच रहा था कि मैं एक साधारण प्रणाली कैसे बना सकता हूं जो बाद में विस्तारित करने के लिए पर्याप्त लचीला है।वास्तुकला प्रश्न
दूसरे शब्दों में: मुझे अब एक पूर्ण उड़ाए गए सीक्यूआरएस की आवश्यकता नहीं दिखाई दे रही है, लेकिन यदि आवश्यक हो तो मैं इसे बाद में विकसित करना आसान बनाना चाहता हूं।
तो मैं पूछताछ से कमांडिंग को अलग करने के बारे में सोच रहा था, लेकिन दोनों एक ही डेटाबेस पर आधारित थे।
क्वेरी भाग आसान होगा: डेटा के लिए पूछताछ करना आसान है कि विचारों के आधार पर एक डब्ल्यूसीएफ डेटा सेवा। वहां कुछ भी खास नहीं है।
कमांड हिस्सा कुछ और कठिन है, और यहां एक विचार है: आदेश निश्चित रूप से एक असीमित तरीके से निष्पादित किए जाते हैं, इसलिए वे परिणाम नहीं लौटाते हैं। लेकिन, मेरे एएसपी.नेट एमवीसी साइट के नियंत्रकों को अक्सर कमांड से प्रतिक्रिया की आवश्यकता होती है (उदाहरण के लिए यदि किसी सदस्य का पंजीकरण सफल हुआ या नहीं)। इसलिए यदि नियंत्रक कमांड भेजता है, तो यह एक लेनदेन आईडी (एक guid) भी उत्पन्न करता है जो कमांड गुणों के साथ पास हो जाता है। कमांड सेवा इस कमांड को प्राप्त करती है, इसे डेटाबेस में 'प्रोसेसिंग' के साथ डेटाबेस में लेनदेन तालिका में डालती है, और इसे निष्पादित किया जाता है (डीडीडी सिद्धांतों का उपयोग करके)। निष्पादन के बाद, लेनदेन तालिका अद्यतन की जाती है, ताकि राज्य 'पूर्ण' या 'असफल' हो और अन्य प्राथमिक जानकारी जैसे उत्पन्न प्राथमिक कुंजी हो।
इस बीच साइट इस लेनदेन की स्थिति के लिए क्वेरी के लिए क्वेरी सेवा का उपयोग कर रही है, जब तक कि इसे 'पूरा' या 'असफल' न हो जाए, और फिर यह इस परिणाम के आधार पर अपना काम जारी रख सके। यदि लेनदेन तालिका मतदान की जाती है और परिणाम 'पूरा' या 'विफल' होता है, तो प्रविष्टि हटा दी जाती है।
एक साइड इफेक्ट यह है कि मुझे अपनी संस्थाओं के लिए गाइड के रूप में ग्रिड की आवश्यकता नहीं है, जो प्रदर्शन और आकार के लिए एक अच्छी बात है।
ज्यादातर मामलों में इस मतदान तंत्र की शायद आवश्यकता नहीं है, लेकिन यदि आवश्यक हो तो संभव है। और इंटरफेस को सीक्यूएस के साथ दिमाग में डिजाइन किया गया है, इसलिए भविष्य के लिए खुला है।
क्या आप इस दृष्टिकोण में किसी भी त्रुटि के बारे में सोचते हैं? अन्य विचार या सुझाव?
धन्यवाद!
लूद
डब्ल्यूसीएफ डेटा सेवा के माध्यम से आप अपना फ्रंट एंड क्यों रद्द कर देते हैं? इसके लिए कोई विशिष्ट कारण है क्योंकि मैं अपना समाधान जितना संभव हो सके उतना आसान रखूंगा। डब्ल्यूसीएफ नहीं जाने के लिए – thekip
+1। फाउलर का वितरित ऑब्जेक्ट डिज़ाइन का पहला कानून: अपनी ऑब्जेक्ट्स को वितरित न करें (PoEAA से) – Deleted
+1 - @ क्रिस स्मिथ –