हमने कुछ समय के लिए मेरी बड़ी परियोजनाओं में से एक में पहलूजे का उपयोग किया। यह परियोजना कई वेब सेवाओं से बना थी, जिनमें से कई कई कार्यों के साथ थे, जो एक जटिल दस्तावेज़ प्रसंस्करण/क्वेरीिंग सिस्टम के लिए फ्रंट एंड था। कोड के लगभग 75k लाइनों के आसपास कहीं। हमने कार्यक्षमता के दो अपेक्षाकृत मामूली टुकड़ों के लिए पहलुओं का उपयोग किया।
पहले आवेदन प्रवाह का पता लगा रहा था। हमने एक पहलू बनाया जो प्रत्येक फ़ंक्शन कॉल से पहले और बाद में "प्रवेश" फ़ंक्शन 'और "exited' फ़ंक्शन 'प्रिंट करने के लिए चला गया। फ़ंक्शन चयनकर्ता चीज़ के साथ (पॉइंटकट शायद? मुझे सही नाम याद नहीं है) हम इसे डिबगिंग टूल के रूप में उपयोग करने में सक्षम थे, केवल उन कार्यों को चुनकर जिन्हें हम किसी दिए गए समय पर ट्रेस करना चाहते थे। यह हमारी परियोजना के पहलुओं के लिए वास्तव में एक अच्छा उपयोग था।
दूसरी चीज हमने आवेदन विशिष्ट मेट्रिक्स थी। हमने टाइमिंग, ऑब्जेक्ट सूचना इत्यादि को कैप्चर करने और परिणामों को डेटाबेस में डंप करने के लिए हमारी वेब सेवा विधियों के आसपास पहलुओं को रखा है। यह अच्छा था क्योंकि हम इस जानकारी को कैप्चर कर सकते थे, लेकिन फिर भी उस कैप्चर कोड को "वास्तविक" कोड से अलग रखें जो काम करता था।
मैंने कुछ अच्छे समाधानों के बारे में पढ़ा है जो पहलू तालिका में ला सकते हैं, लेकिन मुझे अभी भी विश्वास नहीं है कि वे वास्तव में कुछ भी कर सकते हैं जो आप "सामान्य" तकनीक के साथ (शायद बेहतर) नहीं कर सकते। उदाहरण के लिए, मैं किसी भी प्रमुख फीचर या कार्यक्षमता के बारे में नहीं सोच सकता था कि हमारी किसी भी परियोजना की आवश्यकता है जिसे आसानी से पहलुओं के बिना आसानी से नहीं किया जा सकता - जहां मुझे पहलुओं को उपयोगी पाया गया है, मैंने उन मामूली चीज़ों का उल्लेख किया है जो मैंने उल्लेख किया है ।
स्रोत
2008-08-21 18:09:52
कुछ दावा करने पर सावधान रहें। कई विशेषज्ञों का मानना है कि क्षमता मॉडल सुरक्षा करने का सबसे अच्छा तरीका है, और यह कि एओपी एक भयानक बात है। –
@ ब्रैड, आप कहते हैं कि कुछ चीजें एओपी के साथ सबसे अच्छी तरह से की जाती हैं। क्या आप समझा सकते हैं कि * पारंपरिक * तरीके की तुलना में एओपी तरीके से * वास्तव में * क्या फायदा है? – Pacerier