2012-08-25 5 views
9

Es wäre schön, wenn ich meine eigenen Methoden-Interceptors (Advice) definieren und in meine clientseitigen GWT-Methoden einbinden könnte, und GWT automatisch mit JavaScript in JavaScript kompilieren würde Rest meiner App.Client-seitige AOP-Optionen für GWT-Apps

Ich habe gwt-ent ausgecheckt, aber es sieht nicht so aus, als gäbe es seit 2009 eine solide Entwicklung und es gab eine ganze Reihe von Problemen. Ich habe auch von gwt-tiny-aop gehört, hörte aber, dass es sehr begrenzt war.

Habe ich andere Optionen hier? Ich weiß, dass AOP dynamische Bytecode Generation erfordert, was wiederum schwere Reflexion erfordert, und dass GWT nicht viel Unterstützung enthalten (und scheint zu entmutigen) die Praxis der Reflexion, aber ich frage mich, ob es eine stabile, gut bekannt AOP libs da draußen für GWT. Wenigstens etwas, das ich für das Schreiben von AOP Allianz-like Abfangjäger verwenden:

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

warum nicht verwenden Javascript (eingewickelt in JSNI), dieses Verhalten zu simulieren? –

+1

Etwas wie [dotvoid] (http://www.dotvoid.com/2005/06/aspect-oriented-programming-and-javascript/) vielleicht? Keine schlechte Idee ... definitiv ein Kandidat, aber würde immer noch eine Java-Lösung bevorzugen, wenn überhaupt möglich – IAmYourFaja

+2

Um AOP mit GWT zu verwenden, müssten Sie den Quellcode massieren, bevor Sie ihn an GWT übergeben, anstatt Bytecode zu massieren. –

Antwort