design - एजेंट/अभिनेता आधारित समवर्ती डिजाइन के लिए डिजाइन पैटर्न




scala erlang (2)

एक "अभिनेता" समवर्ती प्रोग्रामिंग (एक एसिंक्रोनस संदेश कतार और इसके प्रसंस्करण के लिए एक निष्पादन संदर्भ) के लिए एकजुट पैटर्न है, लेकिन कई डिज़ाइन पैटर्न हैं जो एजेंट-आधारित सिस्टम के पहलुओं या तत्वों को निर्दिष्ट करने में सहायता करते हैं। Concurrency पैटर्न पर विकिपीडिया के आलेख में सबसे आम पाया जा सकता है। कुछ हाइलाइट्स:

यदि आप पहले से नहीं आ चुके हैं, तो Akka आपके लिए रूचि रख सकती है - यह एक "पूरी तरह से" घटना संचालित संचालित अभिनेता ढांचा है जो JVM पर चल रहा है।

हाल ही में मैं वैकल्पिक भाषाओं में शामिल हो रहा हूं जो एक अभिनेता / एजेंट / साझा कुछ भी वास्तुकला का समर्थन नहीं करते हैं - यानी। स्कैला, क्लोजर इत्यादि (क्लोजर भी साझा राज्य का समर्थन करता है)।

अभी तक अधिकांश दस्तावेज जो मैंने पढ़ा है, परिचय स्तर के चारों ओर ध्यान केंद्रित करते हैं। जो मैं खोज रहा हूं वह चार के गिरोह के साथ अधिक उन्नत प्रलेखन है, लेकिन इसके बजाय कुछ भी साझा नहीं किया गया है।

क्यूं कर ? यह डिजाइन सोच में बदलाव को कम करने में मदद करता है। सरल उदाहरण आसान हैं, लेकिन असली दुनिया में जावा एप्लिकेशन (सिंगल थ्रेडेड) में आप जटिल संबंधों के साथ 1000 सदस्यों के साथ ऑब्जेक्ट ग्राफ़ रख सकते हैं। लेकिन एजेंट आधारित समेकन विकास के साथ यह बड़े सिस्टम को डिजाइन करते समय समझने के लिए विचारों का एक नया सेट प्रस्तुत करता है। अर्थात। एजेंट ग्रैन्युलरिटी - एक एजेंट को कितना राज्य प्रबंधित करना चाहिए - प्रदर्शन आदि पर प्रभाव या एजेंट आधारित सिस्टम में साझा राज्य ऑब्जेक्ट ग्राफ़ मैपिंग के लिए उनके अच्छे पैटर्न हैं। डिजाइन करने के लिए डोमेन मॉडल मैपिंग पर युक्तियाँ। तकनीक पर चर्चा नहीं, लेकिन डिज़ाइन में तकनीक का सर्वोत्तम उपयोग करने के तरीके के बारे में अधिक जानकारी (असली दुनिया "जटिल" उदाहरण बहुत अच्छा होगा)।


मैंने here एक समान प्रश्न पूछा, जिसमें कुछ उचित उत्तर थे जो मदद कर सकते हैं। मैं तुम्हारा ध्यान से देख रहा हूँ। मुझे अभी तक कुछ ऐसा नहीं मिला है जिसने वास्तव में मेरी मदद की है, लेकिन मैं बहुत सक्रिय रूप से देख रहा हूं।

मुझे लगता है कि मस्तिष्क-शिफ्ट समवर्ती आर्किटेक्चर और भाषाओं में कदम रखने के लिए सबसे बड़ा बाधा है और जब तक कि क्रैक किए गए डेवलपर्स एमएस स्टाइल प्रतिमानों को सीखने में आसान नहीं रहेंगे। इसके लिए मुख्यधारा बनने के लिए इसे स्कूलों में अपना रास्ता खोजना होगा और सी # और वीबी के साथ पढ़ाया जाना चाहिए।

2080 प्रोग्रामर प्रश्न का मेरा जवाब "समवर्ती" है।





agent