今天看到cnblogs提到了NAOP开源项目,本人之前并没听过AOP“面向方面编程”,于是就看了dudu推荐的入门文章:http://wwwse.fhs-hagenberg.ac.at/se/berufspraktika/2002/se99047/contents/english/aop.html
看完之后感觉似曾相识,原来它与《Modern C++ Design Generic Programming and Design Patterns Applied》(C++设计新思维,候捷译)一书中的思想相似。
使我想起这本书是因为此文提到了logging example,这个日志系统在C++设计新思维中也提到了。记得书中讨论了Singleton模式的多种实作,其中Phenix Singleton来记录日志给了我很深的印象。
书中第一章就提出:要用 泛型+多重继承 解决目前的一些软件设计问题,主张把问题正交分解成多个方面(注意必需是cross-cutting正交分解),这与文中那个AOP的思想是一致的。我很想看看在C#这样没有多重继承功能的语言中如何实现AOP,期待ing
最后文章给出了一些经典的正交分解:
security checks,
object persistence,
thread synchronization,
error handling,
optimization and optimal use of resources (e.g. network bandwidth), or
transparent caching of data.
看完之后感觉似曾相识,原来它与《Modern C++ Design Generic Programming and Design Patterns Applied》(C++设计新思维,候捷译)一书中的思想相似。
使我想起这本书是因为此文提到了logging example,这个日志系统在C++设计新思维中也提到了。记得书中讨论了Singleton模式的多种实作,其中Phenix Singleton来记录日志给了我很深的印象。
书中第一章就提出:要用 泛型+多重继承 解决目前的一些软件设计问题,主张把问题正交分解成多个方面(注意必需是cross-cutting正交分解),这与文中那个AOP的思想是一致的。我很想看看在C#这样没有多重继承功能的语言中如何实现AOP,期待ing
最后文章给出了一些经典的正交分解: