[求助] 关于面向切面编程的缺点 最近在看Spring时接触到 面向切面编程 的概念,各种书的论坛上都讲的是 面向切面编程 的优点,但我感觉是技术总会有些不足,我只是一个初学者,体会不到,希望经验丰富的过来人指点一二。Spring 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 其实为什么你看到的只有优点呢?因为它确实“没有”缺点。关键问题是AOP并不是一种通用技术,而是解决某些特定问题的方案,它跟诸如OOP这些通用技术并不互斥,甚至它自身都是不可能单独存在的。所以对于AOP而言,只有“适用”与“不适用”的概念,而没有“缺点”的概念。道理很简单,不适用的地方你也不会用它的啊,既然你只需要在适用的场合用,何来“缺点”? aop的出现是解决oop解决不了某些问题的。 Spring AOP(动态):通过代理程序运行时织入优点:简单,易用缺点:性能略低,仅适用于方法调用,必须在Spring容器Aspect J(静态):通过修改程序的字节码完成织入优点:性能好,功能强大,无需Spring容器缺点:修改需要重新编译,要引入Aspect J的编译器/织入器,复杂别人总结的!参考下! 这怎么感觉这么像面试题呢。我经常面试的时候被问到这道题,很实在的回答一下的话,就说有时候为了规范而是用AOP,但是为了这个一个单独的无共同部分的地方而单独制作一个切面有点费工夫 JSON与对象相互转换问题 求mycelipse开发工具 请教一个jstl问题 Spring3.0解析 用java写了一个Http client,但向服务器post的时候传中文参数老是乱码,请大侠明示一下 求在特定路径下循环得到文件名的代码 急救!xml问题 一个非常有意义的问题,我用vc做的程序如何访问websphere上jms 高分求SmartUpload组件(要jar的) 日期处理问题 js传值为EL表达式 新手刚学习玩SSH框架,一个SSH的项目
关键问题是AOP并不是一种通用技术,而是解决某些特定问题的方案,它跟诸如OOP这些通用技术并不互斥,甚至它自身都是不可能单独存在的。所以对于AOP而言,只有“适用”与“不适用”的概念,而没有“缺点”的概念。道理很简单,不适用的地方你也不会用它的啊,既然你只需要在适用的场合用,何来“缺点”?
优点:简单,易用
缺点:性能略低,仅适用于方法调用,必须在Spring容器Aspect J(静态):通过修改程序的字节码完成织入
优点:性能好,功能强大,无需Spring容器
缺点:修改需要重新编译,要引入Aspect J的编译器/织入器,复杂别人总结的!
参考下!
我经常面试的时候被问到这道题,
很实在的回答一下的话,就说有时候为了规范而是用AOP,但是为了这个一个单独的无共同部分的地方而单独制作一个切面有点费工夫