5

मैं संदेश कतार का उपयोग किये बिना असीमित पर्यवेक्षक पैटर्न करने के अन्य तरीकों को ढूंढना चाहता था। विचारों और उदाहरणों का अधिकतर स्वागत है। :-) (इसे एक मंथन सत्र के रूप में सोचें)।असिंक्रोनस ऑब्जर्वर पैटर्न

पीएस भाषा वरीयता आपके ऊपर है।

उत्तर

1

जावा में, आप अधिसूचना कार्यों को Executor पर सबमिट कर सकते हैं जो थ्रेड के समूह के एक थ्रेड को प्रबंधित करता है जो सभी अवलोकन योग्य घटनाओं को संभालने के लिए जिम्मेदार होते हैं। आप अभी भी प्रभावी रूप से एक कतार है, लेकिन पारंपरिक अर्थ में "संदेश कतार" की बजाय यह अधिसूचना कार्यों की कतार है।

1

स्पष्ट और सबसे सरल दृष्टिकोण होगा विषय के लिए पंजीकृत पर्यवेक्षकों में से हर एक के लिए विषय में एक नया धागा शुरू करते हैं, और करने के लिए इन धागों जाने के लिए पर्यवेक्षकों की "अद्यतन()" विधि में से प्रत्येक को चलाएं।

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

यह दृष्टिकोण होगा बहुत अलग "घटनाओं के प्रकार" करने के लिए पैमाने पर करने के लिए, कई विषयों और कई पर्यवेक्षकों की घटनाओं की मनमानी प्रकार के लिए मिडलवेयर वर्ग के लिए पंजीकरण के साथ लचीला।

संबंधित मुद्दे