एक परियोजना है जिस पर मैं काम कर रहा हूं वह एक वेब एप्लिकेशन का निर्माण करना है जो कई उपयोगकर्ताओं के बीच कार्य सूची का प्रबंधन करेगा। यह एक मास्टर कार्य सूची है जिसका कार्य आइटम एक अधिकृत उपयोगकर्ता द्वारा वितरित किया जाता है। प्रत्येक उपयोगकर्ता के पास अपने कार्यों को लॉगिन करने और देखने के लिए अपना स्वयं का खाता है; कई उपयोगकर्ताओं के लिए यह संभव है कि वे किसी एक कार्य को आम समझें।
मैं इस परियोजना के विवरण को छोड़ने की कोशिश कर रहा हूं क्योंकि मैं निम्नलिखित स्थितियों को संभालने के लिए समग्र अवधारणा के साथ और अधिक जूझ रहा हूं, लेकिन अगर यह मदद करता है, तो मैं जावा, एक्लिप्सलिंक, और GWT के साथ RequestFactory लागू कर रहा हूं। डेटाबेस PostgreSQL है।
इसलिए मैं जिन वैचारिक समस्याओं का समाधान करने का प्रयास कर रहा हूं वे निम्नलिखित हैं:
यदि एक एकल कार्य जो कई उपयोगकर्ताओं के लिए सामान्य है, किसी भी तरह से बदलता है जैसे कार्य पूरा, हटा दिया गया है, आदि, उन सभी उपयोगकर्ताओं की कार्य सूची, जिनके पास यह कार्य है, अपडेट किया जाएगा। ऐसे कौन से डिज़ाइन पैटर्न हैं जो इस फ़ंक्शन को लागू करने में सहायता करते हैं?
- कुछ पैटर्न जो मैंने देखे हैं वे ऑब्जर्वर और मध्यस्थ हैं - क्या अन्य हैं जिन्हें इन पर विचार किया जाना चाहिए?
कहते हैं कि दो उपयोगकर्ता एक ही समय में एक ही कार्य को बदल रहे हैं।
पहले, क्या मुझे उस स्थिति को होने देना चाहिए या क्या मुझे उस पर तब तक ताला लगाना चाहिए जब तक कि एक या दूसरे व्यक्ति को बदलाव करने के लिए नहीं किया जाता है?
दूसरा, अगर मैं उस पर ताला नहीं लगाता, तो मैं कैसे सामंजस्य बिठाऊंगा जिसके परिवर्तन को स्वीकार करना है? इसमें 1 में स्थिति शामिल है क्योंकि उपयोगकर्ता 1 डेटा जमा कर सकता है और उपयोगकर्ता 2 अपडेट किए गए डेटा प्राप्त करने से पहले, वह आगे बढ़ सकता है और अपने परिवर्तनों को प्रस्तुत कर सकता है।
मैं वास्तव में इस वेब ऐप के कई उदाहरणों के बीच डेटा को सही तरीके से सिंक करने के तरीके के बारे में बता सकता हूं। मैं इसकी बहुत सराहना करूंगा!