From: <hen...@gm...> - 2004-09-17 18:33:09
|
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 > > |