Great!
The suggestions for the a new configuration approach are very cool,
and I presume that the actual configuration object model will be
depreciated? But before drop the AopAlliance support, we have to
define a new Interceptor interface...
And I agree with the test cases refactoring sugestion.
Cheers,
Henry
> Hiya!
>
> So, here is my bunch of suggestion and the things I consider working on,
> at least reserving some part of my spare time to focus on it:
>
> ---- Configuration language ----
>
> Something better than xml to describe aspect configurations, with a
> easy-to-grasp semantic and ressembling aspectj (although xml should
> still be
> supported)
>
> import MyAssembly
> import OtherAssembly
>
> // These declarations forms a global declaration that can be
> // referenced by any aspect declaration
> interceptors
> {
> "shoot", MyInterceptorClass in AssemblyX;
> "logger", MyLoggerInterceptor
> }
>
> // Idem, ibidem
> mixins
> {
> "customer", CustomerClass in CustomerAssembly
> }
>
> // Aspect declaration
> aspect JohnMcBrother for MyType
> {
> }
>
> // or
>
> aspect JohnMcBrother for (* in AspectSharp.Core)
> {
> }
>
> // or (with some regular expressions)
>
> aspect JohnMcBrother for (* in AspectSharp.Core !~ AspectEngine) { }
> aspect JohnMcBrother for (=~ Customer*) { }
>
> // Pointcuts
>
> aspect JohnMcBrother for MyType
> {
> pointcut execution(void DoSomething())
> {
> interceptor { "shoot" }
> }
>
> pointcut execution(*)
> {
> interceptor { "logger" }
> }
>
> pointcut execution(* get_*())
> {
> interceptor { MyStrangeInterceptor in MyStrangeAssembly }
> }
> }
>
> // Mixins
>
> aspect JohnMcBrother for MyType
> {
> // Mixins are now Ruby like :-)
> include "customer"
> include MyOtherMixin in MyOtherAssembly
> }
>
> This content will go through a lexer, parser and a semantic checking,
> and meanwhline constructing a object model. This same object model can
> be used in the xml configuration version.
>
> ---- Design changes ----
>
> - AspectEngine be an instance class instead of a singletion/static
> - Drop the IMixin, IProxyAware
> - Drop the AopAlliance "support"
>
> ---- Refactoring ----
>
> - The test cases are a bit confusing, I suggest start all this process
> by creating brand new test cases, and only after that start to code this
> new version.
>
> What do you guys think?
>
> Cheers,
> --
> hammett
> http://www.apache.org/~hammett/
> http://jroller.com/page/hammett
>
> -------------------------------------------------------
> This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
> Project Admins to receive an Apple iPod Mini FREE for your judgement on
> who ports your project to Linux PPC the best. Sponsored by IBM.
> Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
> _______________________________________________
> Aspectsharp-users mailing list Asp...@li...
> https://lists.sourceforge.net/lists/listinfo/aspectsharp-users
>
>
|