2012-08-25 6 views
9

यह मेरे स्वयं के विधि इंटरसेप्टर (सलाह) को परिभाषित करने में सक्षम होना अच्छा होगा और उन्हें अपने क्लाइंट-साइड जीडब्ल्यूटी तरीकों में बुनाई करने के लिए अच्छा होगा, और जीडब्ल्यूटी स्वचालित रूप से उन्हें जावास्क्रिप्ट में संकलित कर देगा मेरा बाकी ऐप।जीडब्ल्यूटी ऐप्स के लिए क्लाइंट-साइड एओपी विकल्प

मैंने gwt-ent की जांच की, लेकिन ऐसा लगता है कि 200 9 से ठोस विकास हुआ है और वहां कई मुद्दे थे। मैंने gwt-tiny-aop के बारे में भी सुना है लेकिन सुना है कि यह बहुत सीमित था।

क्या मेरे पास कोई अन्य विकल्प है? मुझे पता है कि एओपी को गतिशील बाइटकोड पीढ़ी की आवश्यकता होती है, जिसके बदले में भारी प्रतिबिंब की आवश्यकता होती है, और जीडब्ल्यूटी में प्रतिबिंब के अभ्यास में बहुत अधिक समर्थन नहीं होता है (और हतोत्साहित प्रतीत होता है), लेकिन मैं सोच रहा था कि क्या कोई स्थिर, प्रसिद्ध है जीओटीटी के लिए एओपी मुक्ति कम से कम कुछ है कि मैं AOP एलायंस की तरह इंटरसेप्टर लिखने के लिए इस्तेमाल कर सकते हैं:

public class MyInterceptor implements MethodInterceptor { 
    @Override 
    public void onIntercept(MethodInvocation mi) { 
     // Do some stuff... 

     // Let the method execute 
     Object results = mi.proceed(); 

     // Analyze results... 

     // Returns results 
     return results; 
} 
+1

क्यों जावास्क्रिप्ट (JSNI में लिपटे) का उपयोग नहीं है कि व्यवहार अनुकरण करने के लिए? –

+1

कुछ [dotvoid] की तरह कुछ (http://www.dotvoid.com/2005/06/aspect-oriented-programming-and-javascript/) शायद? कोई बुरा विचार नहीं ... निश्चित रूप से एक उम्मीदवार, लेकिन यदि संभव हो तो जावा समाधान पसंद करेंगे – IAmYourFaja

+2

जीडब्ल्यूटी के साथ एओपी का उपयोग करने के लिए, आपको मालिश बाइटकोड की बजाय जीडब्ल्यूटी को देने से पहले स्रोत कोड को मालिश करना होगा। –

उत्तर

2

आप GWT जनरेटर इस्तेमाल कर सकते हैं:

https://developers.google.com/web-toolkit/doc/latest/DevGuideCodingBasicsDeferred#generators

+2

@IAmYourFaja: यह उन सभी के लिए उत्तर है जो जीडब्ल्यूटी क्लाइंट कोड पर रिफ्लेक्सियन एपीआई पर निर्भर करता है या निर्भर करता है ... मेरा विश्वास करो, ऐसा करने का कोई तरीका नहीं है लेकिन जेनरेटर के साथ। – Chepech

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