2009-10-15 10 views
6

ये मुझे इस शब्द भर में एक बहुत प्रोग्रामिंग दुनिया में "आवश्यकताओं/चिंताओं crosscutting" आते हैं।प्रोग्रामिंग में क्रॉसकटिंग आवश्यकताएं/चिंता का क्या अर्थ है?

हालांकि मुझे लगता है कि मेरे पास एक सुझाव इसका क्या मतलब फिर भी मैं स्पष्ट रूप से पता नहीं है। मैं इसे सामान्य रूप से वेब सेवा और एसओए में बहुत कुछ सुनता हूं।

क्या इसे हैलो वर्ल्ड उदाहरण का उपयोग करके समझाया जा सकता है?

उत्तर

8

यह "सामान है कि आप स्थानों, जो कोड के उस टुकड़े का असली मांस के साथ करने के लिए एक भयानक बहुत कुछ नहीं है की बहुत सारी में क्या करना चाहते हैं" मतलब जाता है।

आम उदाहरण हैं:

  • लेन-देन से निपटने
  • सुरक्षा
  • लॉगिंग
  • निपटने

मुझे लगता है यह आम तौर पर Aspect-Oriented Programming (AOP) के संबंध में उल्लेख किया गया है त्रुटि जो आम तौर पर प्रयास इस तरह की चीजों को इस तरह से संभालने के लिए, उदाहरण के लिए गुण/एनोटेशन के साथ। (उदाहरण के लिए वर्तमान संदर्भ में उपयोगकर्ता की पहचान/प्राधिकरण को सत्यापित करना, या लॉग इन करने की विधि के प्रवेश/निकास) सकल सरलीकरण रूप में, यह बॉयलर-प्लेट कोड लागू करने का मामला है कोड में ही गन्दा किए बिना स्वचालित रूप से।

2

मुझे सलाह है कि आप Postsharp जैसे ढांचे को देखें और पोस्टशर्प साइट से this उदाहरण देखें। यदि आप जावा को AspectJ में लॉक जानते हैं तो एक लायक है। लेकिन सबसे पहले आप जॉन स्कीट द्वारा पोस्ट किए गए लिंक को पढ़ना चाहेंगे :)

3

क्रॉसकटिंग के लिए मानक "हैलो वर्ल्ड" उदाहरण लॉगिंग है: आपको अपने उत्पादन प्रणाली में कोई त्रुटि है और आपके पास कोई संकेत नहीं है कि क्या हो रहा है। इसे हल करने के लिए, आपको वास्तव में यह देखने की ज़रूरत है कि आपके कोड में कौन से फ़ंक्शंस कॉल किए जाते हैं और वे कौन से पैरामीटर प्राप्त करते हैं और वे क्या लौटते हैं।

यह एक साधारण काम है जिसे पूरी तरह से स्वचालित किया जा सकता है: सभी कार्यों को ढूंढें (या किसी प्रकार के फ़िल्टर का उपयोग करके एक सबसेट) और उन लोगों को लॉगिंग कॉल जोड़ें जो नाम और पैरामीटर प्रिंट करते हैं। के बाद से कोड सभी जानकारी आप इस कार्य को पूरा करने की जरूरत है, क्या आप वास्तव में चाहते हैं के लिए एक उपकरण है कि यह आप के लिए करता है और जो (बजाय आप हर जगह लॉग बयान जोड़ने स्रोत फ़ाइलों के हजारों संपादित होने के) एक ही स्थान में यह होता है।

संबंधित मुद्दे