प्रकाशक-ग्राहक और रिएक्टर पैटर्न के बीच अंतर क्या है?


11

प्रकाशित-सदस्यता और रिएक्टर पैटर्न मुझे बहुत समान दिख रहे हैं। वे कैसे अलग हैं?

दोनों पैटर्न में एक संदेश ग्राहकों को अप्रत्यक्ष रूप से दिया जा रहा है (रिएक्टर पैटर्न में श्रोता)।

मुझे लगता है कि पर्यवेक्षक पैटर्न दो अन्य पैटर्न के समान है।

उन पैटर्न के बीच प्रमुख अंतर क्या हैं?

जवाबों:


12

जैसा कि मैं लिंक से देख सकता हूं, पबसब पैटर्न एक ओओपी पैटर्न नहीं है, बल्कि मैसेजिंग पैटर्न है , जो एक नेटवर्क आर्किटेक्चरल पैटर्न है।

रिएक्टर पैटर्न एकल-थ्रेडेड ईवेंट लूप के साथ सर्वर के अनुरोध से संबंधित कुछ है । फिर, लिंक कुछ अच्छे उदाहरण दिखाता है जैसे Node.js, Netty, Twisted, आदि।

अंत में, ऑब्जर्वर ओओपी डिज़ाइन-पैटर्न है जो ओओ-कोड में वस्तुओं के बीच बातचीत का एक तरीका बताता है।

तो वे तीन पैटर्न विभिन्न डोमेन से हैं।


6

रिएक्टर = एकल थ्रेडेड ईवेंट लूप जो अनुरोध प्राप्त करता है और संसाधित करता है। उन अनुरोधों को SMTP और / या HTTP के माध्यम से एक फ़ाइल से बैचों में लोड किया जा सकता है। क्रमिक रूप से तैयार होने के बजाय संसाधित समवर्ती प्रतिक्रियाएं वितरित की जाती हैं।

प्रकाशक उत्सर्जन करते हैं। सदस्य उपभोग करते हैं।

प्रकाशक + सदस्य = ऑब्जर्वर पैटर्न (हेड्स फर्स्ट डिज़ाइन पैटर्न)। पर्यवेक्षक क्रमिक रूप से आग लगाते हैं और आमतौर पर तब तक रोकते हैं जब तक कि वे पूरा न हो जाएं।


2

PubSub मैसेजिंग क्यू (MQ) से अधिक संबंधित है। यह एक वितरण प्रणाली में अतुल्यकालिक संदेश प्राप्त करने के तरीके के साथ क्या करना है।

रिएक्टर पैटर्न में अतुल्यकालिक घटनाओं के साथ करने के लिए अधिक है। छूट के लिए, गैर-ब्लॉकिंग सॉकेट नेटवर्क घटनाओं को वितरित करने के लिए रिएक्टर पैटर्न का उपयोग करते हैं: READ, WRITE, CONNECT, ACTPT

रिएक्टर पैटर्न की बेहतर समझ रखने के लिए आप CoralReactor की जांच कर सकते हैं ।

अस्वीकरण : मैं CoralReactor के डेवलपर्स में से एक हूं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.