मैं वर्षों से एओपी के साथ खेल रहा हूं, लेकिन समाधान से 100% संतुष्ट नहीं हुआ। स्प्रिंग.एओपी जैसे रनटाइम बुनाई के साथ एओपी फ्रेमवर्क, कक्षा के इंटरफेस को बदल नहीं सकते हैं। पोस्ट संकलन समय के साथ पोस्टशर्प जैसे फ्रेमवर्क (कोई और किसी और को जानता है?) आप कर सकते हैं। इस नमूना को देखें, यह आपके वर्ग में INotifyPropertyChanged कार्यान्वयन जोड़ता है। ->http://www.postsharp.net/model/inotifypropertychangedएओपी पूर्व-संकलन समय बुनाई?
यह AOP सुविधा वास्तव में महान है, लेकिन आप बहुत जल्द ही मुसीबतों में चलाने ... आप होस्टिंग विधानसभा के भीतर नए इंटरफ़ेस उपयोग करना चाहते हैं, तो आप संकलन नहीं कर सकते, क्योंकि इंटरफ़ेस संकलन के बाद जोड़ा जाता है । ताकि आपको "PropertyChanged परिभाषित नहीं किया गया" -error। तो आपको कक्षाओं को किसी अन्य असेंबली में अलग करके, बदसूरत काम करना होगा, ताकि आप उन एओपी फायदों का उपयोग कर सकें। मुझे याद है, मैं एक ही "पोस्ट संकलन समय" में भाग गया - एक टी 4-टेम्पलेट का उपयोग कर परेशानी जो एक असेंबली के प्रतिबिंबित इन्फोस के आधार पर स्रोत कोड उत्पन्न करती है। ठीक है तो संकलन समय पोस्ट कभी-कभी बहुत देर हो जाती है ...
जो मैं खोज रहा हूं वह एक समाधान है, जहां कक्षा के स्रोत कोड को विजुअल स्टूडियो उपयोगकर्ता परिभाषित टूल के माध्यम से पार्स किया जाता है, फिर अंडर कोड को सी # एक आंशिक वर्ग में फ़ाइल। (इसलिए सभी एओपी लागू वर्गों को आंशिक होना चाहिए)
तो इसकी तरह "प्री-कंपाइल-टाइम एओपी"। यह निश्चित रूप से संभव होना चाहिए, और कोड पारसर के रूप में एनआरफैक्टरी का उपयोग करके किया जा सकता है। इसके अलावा, विजुअल स्टूडियो एक संकलन संशोधन के मुकाबले इसे और अधिक पसंद करेगा।
तो यह समाधान पोस्ट संकलन समय बुनकरों के नुकसान को समाप्त करता है। लेकिन आपको एओपी की सभी सुविधाएं नहीं देती हैं। लेकिन एक एओपी-फ्रेमवर्क के साथ, यह अजीब होना चाहिए।
क्या कोई इस तरह के ढांचे को जानता है, या कोई चर्चा? आपको क्या लगता है?
तरह का संबंध, थॉमस
धन्यवाद, IMHO यह आर्किटेक्चर पर एक प्रभाव है, क्योंकि आप अपने कोड में जटिलता (= एक कास्ट) जोड़ते हैं। क्या यह उन बिंदुओं में से एक है जिन्हें आपने एंडर्स हेजल्सबर्ग से "कंपाइलर खोलने" के लिए कहा था? उद्धरण: "कोड अनुबंध से लोगों ने शायद संकलक को हुक करने की क्षमता की सराहना की होगी। इस आवश्यकता को बड़े पैमाने पर अनदेखा किया जा रहा है।" स्रोत: http://www.postsharp.net/blog/post/Anders-Hejlsberg-Dead-Body –