2009-05-11 9 views
8

मुझे लगता है कि एओ को गोद लेने में इतनी धीमी क्यों रही है। प्रमुख भाषाओं के लिए वहां बहुत सारे समृद्ध कार्यान्वयन हैं। मेरा अनुमान है कि, ओओ की तरह इस दिन, यह एक आदर्श बदलाव है कि लोग उन स्थानों को नहीं पहचानते जहां यह उनकी मदद कर सकता है।आस्पेक्ट ओरिएंटेड प्रोग्रामिंग के लिए आपकी असली दुनिया क्या उपयोग करती है?

तो, गैर-आक्रामक लॉगिंग से परे, आपने कुछ तरीकों का उपयोग किया है, या एओ का उपयोग करने की योजना है, जो जटिलता को कम करता है, रखरखाव में सुधार करता है, सिस्टम "ilities" बढ़ाता है?

उत्तर

2

लेनदेन प्रबंधन। मुझे पता है कि यह एओपी का एक कैननिकल उपयोग है, लेकिन इसके लिए उपयोग किए जाने पर यह वास्तव में चमकता है।

और जब मुझे वास्तविक दुनिया की स्थिति में इसका उपयोग करने का मौका नहीं मिला है, तो मुझे "चारों ओर सलाह" बहुत शक्तिशाली होने के रूप में दिखाई देती है, विशेष रूप से उस मूल्य के लिए जो कोड को हटाकर कोड की जटिलता को सरल बनाने के लिए जोड़ती है दुर्लभ परिस्थितियों के लिए कई जांच की आवश्यकता है।

0

मेरे अनुभव में, वसंत एओपी के साथ बहुत आम लगता है।

मुझे लगता है कि कठिनाई यह है कि लोगों को पहलुओं के मामले में सोचने के लिए उपयोग नहीं किया जाता है, और संकलन समय पर भी बुनाई कोड कुछ हद तक डरावना हो सकता है, क्योंकि यह देखना मुश्किल है कि वास्तव में प्रत्येक विधि को क्या प्रभावित कर रहा है, उदाहरण के लिए, एएसपी अगर आप संकलन-समय और रन-टाइम पर बुनाई के मिश्रण का उपयोग करते हैं।

मैंने इसे ऐसी परिस्थितियों में उपयोग किया है जहां मेरे पास एक नियंत्रक है, और मैं यह जोड़ता हूं कि यह एक सर्वलेट या webservice है, उदाहरण के लिए। मैंने डेटाबेस का सारण करने के लिए इसका भी उपयोग किया है, इसलिए डेटाबेस कनेक्शन और डेटाबेस-अनुकूलित क्वेरी, एप्लिकेशन में बुना जा सकता है।

1

मैं वसंत एओपी के लिए सहमत हूं।

एओएसडी (हम अब एओपी के बारे में नहीं बोलते हैं, मैं वास्तव में क्यों नहीं) मिडलवेयर/सेवा उन्मुख आर्किटेक्चर के लिए वास्तव में उपयोगी है जहां आपके पास पहले से ही डिजाइन, कुछ मॉड्यूलरिटी है।

मैंने इस संदर्भ में टेलीफ़ोनी सेवाओं के लिए कुछ वास्तव में सीमित बिलिंग सेवा के साथ इसका उपयोग किया है।

मैंने कुछ कोड के आसपास कुछ विश्लेषण करने के लिए इसे एक प्रकार का मॉड्यूलर दुभाषिया/कंपाइलर बनाने के लिए भी उपयोग किया है।

मेरे दिमाग में, एक समस्या पॉइंटकट भाषाएं होती हैं जो कभी-कभी यह वर्णन करने में मुश्किल हो सकती हैं कि आप अपनी सलाह कहां लागू करना चाहते हैं। एक और समस्या रचना है, मुझे नहीं पता कि यह हल हो गया है, लेकिन यह समझना मुश्किल हो सकता है कि आप अपनी सलाह कब देते हैं ....

1

एओपी आम है, सिवाय इसके कि लोग शायद ही कभी इसे एओपी कहते हैं। .NET प्रोग्रामिंग में सभी स्थानों को देखें जहां विशेषताओं का उपयोग किया जाता है। गुण अनिवार्य रूप से क्रॉस-कटिंग व्यवहार हैं जो कई कक्षाओं/विधियों/पैरामीटर में लागू हो सकते हैं।

हाल ही में, एएसपी.नेट एमवीसी प्लेटफार्म ने सुरक्षा, डेटा बाइंडिंग और अपवाद हैंडलिंग जैसे क्रॉस-कटिंग घटकों की विस्तृत श्रृंखला के लिए विशेषताओं का भारी उपयोग अपनाया है।

+0

तो गुणों का वास्तविक दुनिया उदाहरण क्या होगा जो इसे दर्शाता है? –

+0

ईजी। एएसपी.नेट एमवीसी में, आप एक नियंत्रक वर्ग या विधि [प्राधिकरण] विशेषता के साथ विधि टैग कर सकते हैं, और ढांचा सुनिश्चित करेगा कि नियंत्रक का आह्वान करने के लिए प्राधिकरण को स्थानांतरित करने के लिए ट्रिगर्स (जैसे लॉगिन पृष्ठ पर रीडायरेक्ट करना) ट्रिगर करता है। कई अन्य हैं ... – DSO

3

मैं वर्तमान के लिए उत्पादन में EntLib/एकता के माध्यम से AOP उपयोग कर रहा हूँ:

  • प्रवेश
  • कैशिंग
  • सुरक्षा
  • अपवाद रिपोर्टिंग
  • प्रदर्शन काउंटरों

एक ले लो एक आईपी के लिए http://www.agileatwork.com/unit-of-work-with-unity-and-aspnet-mvc/ देखें AOP

[UnitOfWork] 
public void Process(Job job) 
{ 
    ... 
} 
+0

पर्यवेक्षक पैटर्न में किसी ऑब्जेक्ट को किसी विषय में परिवर्तित करने में सहायता के लिए। सभी म्यूटेटर विधियों के अंत में सूचित करने के लिए एक कॉल जोड़कर। –

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

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