मुझे लगता है कि क्रॉस-कटिंग चिंता का एकमात्र सबसे अच्छा उदाहरण व्यवहार व्यवहार है। उदाहरण के लिए, आपके सभी सेवा विधियों में कमिट और रोलबैक कॉल के साथ ट्राई-कैच ब्लॉक रखना, उदाहरण के लिए विकर्षक होगा। एक मार्कर के साथ तरीकों का उल्लेख करना जो AOP उन्हें वांछित लेनदेन व्यवहार के साथ एनकैप्सुलेट करने के लिए उपयोग कर सकता है, एक बड़ी जीत है।
क्रॉस-कटिंग चिंता का एक और अच्छा उम्मीदवार प्राधिकरण है। एक मार्कर के साथ एक सेवा पद्धति की व्याख्या करना जो बताता है कि कौन इसे कॉल कर सकता है, और कुछ AOP सलाह दे सकता है कि विधि को कॉल करने की अनुमति दे या नहीं, सेवा पद्धति कोड में इसे संभालने के लिए बेहतर हो सकता है।
एओपी सलाह के साथ लॉगिंग को लागू करना अधिक लचीलापन प्राप्त करने का एक तरीका हो सकता है, ताकि आप लॉगपॉइंट को बदलकर जो भी लॉग इन करते हैं उसे बदल सकें। व्यवहार में, मैं ऐसी परियोजनाओं को अक्सर नहीं देखता हूँ। आमतौर पर Log4j जैसी लाइब्रेरी का उपयोग करने से आप लॉग-लेवल और श्रेणी के आधार पर फ़िल्टर कर सकते हैं, यदि आपको जरूरत है तो रनटाइम के दौरान, यह काफी अच्छी तरह से काम करता है।
एक मुख्य चिंता एक कारण है कि आवेदन मौजूद है, व्यापार तर्क है कि आवेदन स्वचालित है। यदि आपके पास एक लॉजिस्टिक्स एप्लिकेशन है जो शिपिंग फ्रेट को संभालता है, तो यह पता लगाना कि आप ट्रक पर कितना माल पैक कर सकते हैं या ट्रक के लिए सबसे अच्छा रास्ता क्या है कि इसकी डिलीवरी बंद हो जाए। क्रॉस-कटिंग चिंताएं आमतौर पर कार्यान्वयन विवरण हैं जिन्हें व्यावसायिक तर्क से अलग रखने की आवश्यकता होती है।