2010-05-25 7 views
8

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

+0

क्या आपका मतलब है कि प्लग-इन सी ++ में लिखा जाना चाहिए? – xtofl

+0

यह इस बात पर निर्भर करता है कि आप किस ऑपरेटिंग सिस्टम को लक्षित कर रहे हैं, कुछ हद तक –

+0

हां। लेकिन मैं C++ – sepisoad

उत्तर

4

मुझे लगता है, यह जवाब नहीं है उम्मीद है, लेकिन आप Rainmeter स्रोतों की जांच करने का प्रयास कर सकते हैं। यह सी ++ में लिखा गया है (कुछ स्थानों को मेरे दिमाग में बेहतर किया जा सकता है, लेकिन कुल मिलाकर यह ठीक है) और पूरा आवेदन इस तरह से किया जाता है ताकि यह प्लगइन को संभाल सके।

यहां तक ​​कि सरल एपीआई प्लगइन के माध्यम से भी किया जाता है, योगदानकर्ता प्लगइन के उदाहरणों का भी एक समूह है, मेरा मतलब है, किसी और ने लिखा है (मैंने वह भी किया, एक दिन)।

मुझे लगता है कि आप वास्तव में अन्य अनुप्रयोगों को देखकर प्लगइन आधारित विकास में कई नई चाल का अध्ययन कर सकते हैं।

यह भी उल्लेख करने के लिए, एक और अच्छा नमूना Miranda IM है।

संपादित करें: इसके अलावा, अगर मैं हान एक ही काम के लिए, मैं वास्तव में कुछ python (या ऐसा ही कुछ) बैकएंड अपने आवेदन करने के लिए (उदाहरण के लिए boost::python का प्रयोग करके) जोड़ने और इसे SDK के लिए भाषा के रूप में प्रयोग करेंगे।

+0

जैसा कि आपने कहा था, मुझे लिंक के लिए थेंक्स का अध्ययन करने के लिए कुछ मामलों की आवश्यकता है। – sepisoad

+0

हालांकि पाइथन एक व्यवहार्य समाधान है और व्यापक रूप से विस्तारित भाषा के रूप में उपयोग किया जाता है, मुझे अंतिम आवेदन की निर्भरताओं को कम करने की आवश्यकता है, – sepisoad

1

क्या आप अपने एप्लिकेशन में एक्सेस पॉइंट्स को परिभाषित कर सकते हैं जहां बाहरी एप्लिकेशन संचार कर सकता है?

मान लें कि आप कुछ नामित पाइप तंत्र या टीसीपी/आईपी सॉकेट को परिभाषित करते हैं, जहां बाहरी एप्लिकेशन आपके एपीआई को आपके एप्लिकेशन में हेरफेर करने के लिए बुलाएगा?

यह देखते हुए कि आपको इन एप्लिकेशन को अपने आवेदन का उपयोग करने से पहले कोर एप्लिकेशन में पंजीकरण करने की आवश्यकता है। आप इस प्लगइन की उत्पत्ति को प्रमाणित करने के लिए सार्वजनिक निजी प्रमाणपत्र भी जोड़ सकते हैं, (यानि एक निजी कुंजी के साथ प्लगइन पर हस्ताक्षर करने के लिए जहां आपके आवेदन के उदाहरण सार्वजनिक कुंजी के खिलाफ मान्य होंगे)

4

आप को:

  • एक इंटरफेस को परिभाषित
  • अपने प्लगइन लोड और यह इस इंटरफेस

आपका प्लग-इन में सक्षम इस इंटरफेस के माध्यम से मेजबान आवेदन के साथ संवाद किया जाएगा दे। इसका मतलब है, आपको सावधानी से सोचना चाहिए कि आप अपने प्लगइन्स को क्या करना चाहते हैं।

यदि आपका होस्ट एप्लिकेशन बदलता है और आप कार्यशीलता जोड़ते हैं तो आपको शायद इंटरफ़ेस के विभिन्न संस्करणों का समर्थन करने की आवश्यकता होगी।

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