पुस्तकालय कम से कम AspectJ की तुलना में, किसी भी चाहिए?नेट दुनिया में उपयोग करने के लिए कोई परिपक्व एओपी लाइब्रेरी?
उत्तर
आप विभिन्न आईओसी कंटेनर जो बॉक्स से बाहर AOP सुविधा की कोशिश कर सकते हैं (उदा Spring.Net एक शक्तिशाली AOP freamework है, महल विंडसर Interceptors है और इसलिए Unity करता है), उन के साथ Snap का उपयोग करें या Postsharp की तरह एक आईएल वीवर का उपयोग करें। हालांकि प्रारंभिक विकास में - - होनहार लग रहा है
अद्यतन मैं सिर्फ "Afterthought" जो बारे में पता चला। इसका उद्देश्य पोस्टशर्प के लिए ओपनसोर्स विकल्प होना है।
और मैं Mono.Cecil जो रूप में अच्छी तरह इल बुनाई करने में सक्षम है उल्लेख करना भूल गया:
सरल अंग्रेजी में, सेसिल के साथ, आप कर सकते हैं मौजूदा प्रबंधित विधानसभाओं लोड, सभी निहित प्रकार ब्राउज़ करें, उन्हें मक्खी पर संशोधित और संशोधित असेंबली डिस्क पर वापस सहेजें।
Fody बुनाई के लिए सेसिल का उपयोग करता है और निर्माण चरण में उस चरण को एकीकृत करने की अनुमति देता है। यह कुछ सुविधाजनक एडिन के साथ आता है (उदाहरण के लिए INotifyPropertyChanged
लागू करता है या संकलन के बाद सार्वजनिक गुणों से ToString
विधि उत्पन्न करता है)।
Microsoft patterns & practices से Unity Interception पर एक नज़र डालें।
मैं बिल्कुल वही चीज़ के लिए चारों ओर देख रहा हूं, और मैं आत्मविश्वास से आपको बता सकता हूं कि इसमें कुछ भी नहीं है। नेट जो भी हर सम्मान में AspectJ से दूरस्थ रूप से तुलनीय है।
.NET दुनिया में, मुझे लगता है कि डायनामिक-प्रॉक्सी को अक्सर एओपी मैकेनिक के रूप में उपयोग किया जाता है। केवल कुछ औजार हैं जो वास्तविक आईएल-बुनाई जैसे पोस्टशर्प और आफ्टरिथ्स का समर्थन करते हैं, जिनमें से दोनों को पहलू अभिविन्यास करने के तरीके के रूप में विशेषताओं के साथ घोषणात्मक प्रोग्रामिंग मिलती है। वे दोनों उपयोग करने में आसान हैं, लेकिन यदि आप एओपी पृष्ठभूमि (AspectJ) से आते हैं, तो मुझे यकीन नहीं है कि वे वही होंगे जो आप एओपी को कॉल करेंगे।
अब तक मैंने "सच्चे" एओपी पैटर्न (जैसा कि औपचारिक रूप से एक दशक पहले परिभाषित किया गया था, यानी पॉइंटकट, जॉइनपॉइंट्स, सलाह, पहलुओं आदि) के किसी भी .NET कार्यान्वयन को नहीं देखा है, शायद इसलिए क्योंकि इसमें बहुत कम जागरूकता और रुचि है आम तौर पर एओपी, जहां इसका सामान्य उपयोग आम तौर पर लॉगिंग, लेनदेन-प्रबंधन और अपवाद नीति तक ही सीमित होता है, जहां आईओसी और गुण आमतौर पर पर्याप्त होते हैं।
व्यापार-नियम और डोमेन-संचालित कोड के लिए एओपी अभी भी बहुत ही कम देखा गया है (न ही किसी भी उपकरण द्वारा समर्थित) .Net में इस चरण में।
केवल एक ओपन-सोर्स प्रोजेक्ट है जिसे मैंने हाल ही में पार किया है, जो इस अंतर को भरना शुरू कर रहा है (http://sheepaop.codeplex.com), अभी भी बहुत जल्दी लगता है, लेकिन एक AspectJ-ish कार्यान्वयन के रूप में प्रमोशन दिखता है। जैसा कि मैंने पहले कहा था, यह अभी भी AspectJ (आपके प्रश्न के अनुसार) के साथ तुलना नहीं करेगा, लेकिन समानता बेहद स्पष्ट है और जानबूझकर लगती है।
जैसा कि सवाल .NET के बारे में है, आप Nemerle भाषा का उपयोग कर सकते हैं, जिसमें शक्तिशाली मेटा-प्रोग्रामिंग सुविधाएं हैं।
का उपयोग करने में वास्तव में आसान है Nemerle भी मैक्रो विशेषताओं के साथ सी # स्रोत संकलित करने की अनुमति देता है। इस तरह आप एओपी सी # के साथ प्राप्त कर सकते हैं। –
क्या इसका मतलब है कि नेमेरल कंपाइलर में सी # कंपाइलर शामिल है? – ironic
हां, नेमेरल सी # स्रोत का विश्लेषण कर सकते हैं और इसे संकलित कर सकते हैं। आप अपनी परियोजना में .cs फ़ाइल जोड़ सकते हैं और यह काम करता है। अधिकतर आप निमरल कंपाइलर के लिए कोई फ्रंट-एंड लिख सकते हैं, जैसे VB.Net, स्रोत यहां है: https://github.com/rsdn/nemerle/tree/master/snippets/csharp-parser –
- 1. नेट दुनिया के लिए जेटी
- 2. क्या नेट के लिए कोई अच्छी पार्सिंग लाइब्रेरी है?
- 3. क्या नेट के लिए कोई कंसोल "ग्राफिक्स" लाइब्रेरी है?
- 4. क्या नेट सीएलआर के लिए कोई काफी परिपक्व लिस्प/योजना/क्लोजर कंपाइलर हैं?
- 5. क्या जीएनयू रीडलाइन के समान कोई नेट लाइब्रेरी है?
- 6. नेट एफ़टीपी लाइब्रेरी
- 7. ओपनसोर्स .नेट एसएमएस लाइब्रेरी
- 8. एओपी
- 9. क्या एएसई परिपक्व एंड्रॉइड ऐप्स विकसित करने के लिए पर्याप्त परिपक्व है?
- 10. सी # में कोई परिपक्व पी 2 पी ढांचे/पुस्तकालय हैं?
- 11. क्या .NET में सूचना/अलर्ट के लिए कोई लाइब्रेरी है?
- 12. एओपी
- 13. क्या हडोप के साथ पायथन का उपयोग करने के लिए कोई वितरित मशीन लर्निंग लाइब्रेरी है?
- 14. पीओसीओ नेट सी ++ लाइब्रेरी में प्रॉक्सी प्रमाणीकरण
- 15. आईफोन के लिए एसडीएल कितना परिपक्व है?
- 16. नेट क्रोम डॉकिंग करने के लिए नेट नियंत्रण
- 17. क्या प्राइम्स सूचीबद्ध करने के लिए कोई पाइथन लाइब्रेरी है?
- 18. फ़ाइल/माइम प्रकार का पता लगाने के लिए नेट लाइब्रेरी
- 19. नेट के लिए सबसे अच्छी EXIF लाइब्रेरी क्या है?
- 20. jQuery के साथ उपयोग करने के लिए सर्वश्रेष्ठ यूआई लाइब्रेरी
- 21. मैं ब्राउज़र में फ्लोचार्ट एप्लिकेशन बनाना चाहता हूं। उपयोग करने के लिए कौन सी एसवीजी लाइब्रेरी?
- 22. मेटाक्लास (जैसे पायथन में) के वास्तविक वास्तविक दुनिया के उपयोग
- 23. कौन सा नेट चार्टिंग लाइब्रेरी का उपयोग करना चाहिए?
- 24. जावास्क्रिप्ट के लिए कोई कैलकुंस लाइब्रेरी है?
- 25. हैडोप के लिए जावा/स्कैला में डेटा Analytics पाइपलाइन बनाने के लिए सबसे परिपक्व लाइब्रेरी क्या है?
- 26. प्रिंटिंग के लिए रिपोर्ट जेनरेट करने के संबंध में अब HTML + CSS कितना परिपक्व है?
- 27. सॉफ्टवेयर ट्रांजैक्शनल मेमोरी का उपयोग कर कोई वास्तविक-दुनिया अनुभव?
- 28. क्या कोई नेट में प्राथमिक इंटरऑप असेंबली का उपयोग करने के लाभों को समझा सकता है?
- 29. वेब सेवाओं में MySQL savepoints के वास्तविक दुनिया के उपयोग?
- 30. परिपक्व मानक पुस्तकालय सी
पोस्टशर्प के लिए +1, यह बहुत शक्तिशाली है और –