I've glanced over these articles a number of times, and know that many of the tools I use depend on them, but I've always wanted to study them much more deeply.
http://www.codeproject.com/KB/library/AOPLibrary.aspx
http://www.codeproject.com/KB/cs/UsingAOPInCSharp.aspx
And, the entire LinFu series: http://www.codeproject.com/KB/cs/LinFuPart1.aspx
This kind of approach has been used in jQuery for a long time now, and other JavaScript frameworks, and it's common in Ruby and has been used in lots of C# and Java programs as well. Despite its wide-spread adoption in frameworks and tools, it's still uncommon to see it in application development.
Reading Notes
Part I: http://www.codeproject.com/KB/cs/LinFuPart1.aspx
After reading part I http://www.codeproject.com/KB/cs/LinFuPart1.aspx, I am not sure how the interceptor knows to discriminate to the Greet method. However, I think that's explained here: "Every proxy generated by
LinFu
dynamically overrides all of its parent's virtual methods." I think that means even if there were a "Farewell" method, it would still call the identical methods in the IInvokeWraper instance.Part II: Here Comes Rubber Ducky
This part is about Duck typing and other interesting aspects of the framework. It's pretty easy to understand. Nothing to comment on.
No comments:
Post a Comment