के पीछे बड़ा विचार क्या है, मैं इसे अपने लिए स्पष्ट करना चाहता था।एओपी कार्यान्वयन
मैंने एओपी अवधारणा के बारे में पढ़ा और मुझे समझ में आया कि यह क्रॉस काटने की सेवाओं को साझा करने का एक शानदार तरीका है। (प्रवेश, सुरक्षा, लेन-देन ...)
लेकिन मैं कहता हूँ/इस विचार के बारे में कुछ पूछना चाहते हैं और यह कार्यान्वयन है।
मैंने पढ़ा है वहाँ आदेश मेरे व्यापार तर्क को AOP आत्मसात करने के लिए AspectJ, JBoss AOP जैसे कुछ तरीके हैं।
लेकिन यह पहले से ही बहुत समय पहले नहीं था?
मैं एक सिंगलटन सेम यकीन है कि यह केवल एक है बनाने क्यों नहीं लगा सकता है के उदाहरण के लिए मान लीजिए मैं साझा करने के लिए एक प्रवेश या सुरक्षा कार्यान्वयन मेरी घटकों amongs चाहते हैं (जावा सेम, EJB है, जो भी ..) उदाहरण और जैसे ही किसी भी घटक को इसकी लॉगिंग/सुरक्षा सेवा की आवश्यकता होगी, यह देखेगा और इसकी सेवा का उपयोग करेगा।
क्यों मैं समझता हूँ और इस तरह के AspectJ या jboss AOP पास उन सभी को "बिग" कार्यान्वयन के लिए की आवश्यकता होगी? मुझे यहाँ क्या याद आती है?
यदि मैं अभिभावक वर्ग बनाता हूं और विस्तार करता हूं तो मेरी कक्षाएं इसका विस्तार करती हैं। मैं उस पेरेंट क्लास में अपना "पर्समेंट" तर्क डाल सकता था। जब कोई वर्ग इसे विस्तारित करेगा, तो यह सभी लॉगगिग/सेक्यूटरी ... का आनंद लेने में सक्षम होगा जो मैंने पहले घोषित किया होगा। मैं पेमेंट लॉगगिग के लिए "बनाना"/"नष्ट" भी कर सकता हूं और इस तरह .. – rayman
@rayman: लेकिन आपको अभी भी ** इन विधियों को स्पष्ट रूप से कॉल करने की आवश्यकता है (महान कोड नमूना * जेबी निजेट * देखें)। आपके द्वारा एक बार निर्देशित किए गए कोड के लिए एओपी आपके लिए यह भी करेगा! इसका यह भी अर्थ है कि नए प्रोग्रामर लॉगिंग/सुरक्षा सुविधाओं का आनंद लेंगे, उनके बारे में भी जानते हुए।उल्लेख नहीं है कि आप बेस क्लास/हेल्पर विधियों के साथ अपने कोड को अव्यवस्थित नहीं कर रहे हैं –
माबे आप जेबी को अपनी आखिरी टिप्पणी देख सकते हैं। – rayman