JAVA中AOP与OOP的区别
来源:互联网 发布:易阳指炒股软件 编辑:程序博客网 时间:2024/05/19 15:21
AOP 和 OOP的区别:
1. 面向方面编程 AOP 偏重业务处理过程的某个步骤或阶段,强调降低模块之间的耦合度,使代码拥有更好的移植性。
2. 面向对象编程 (oop) 则是对业务分析中抽取的实体进行方法和属性的封装。
也可以说 AOP 是面向业务中的动词领域, OOP 面向名词领域。
AOP 的一个很重要的特点是源代码无关性,也就是说如果我们的系统中引用了 AOP 组件,即使我们把该组件去掉,系统代码也应该能够编译通过。要实现这一点,可以使用动态 proxy 模式。
AOP和OOP都是一套方法论,也可以说成设计模式、思维方式、理论规则等等。
AOP不能替代OOP,OOP是obejct abstraction,而AOP是concern abstraction,前者主要是对对象的抽象,诸如抽象出某类业务对象的公用接口、报表业务对象的逻辑封装,更注重于某些共同对象共有行为的抽象,如报表模块中专门需要报表业务逻辑的封装,其他模块中需要其他的逻辑抽象,而AOP则是对分散在各个模块中的共同行为的抽象,即关注点抽象。一些系统级的问题或者思考起来总与业务无关又多处存在的功能,可使用AOP,如异常信息处理机制统一将自定义的异常信息写入响应流进而到前台展示、行为日志记录用户操作过的方法等,这些东西用OOP来做,就是一个良好的接口、各处调用,但有时候会发现太多模块调用的逻辑大都一致、并且与核心业务无大关系,可以独立开来,让处理核心业务的人专注于核心业务的处理,关注分离了,自然代码更独立、更易调试分析、更具好维护。
核心业务还是要OOP来发挥作用,与AOP的侧重点不一样,前者有种纵向抽象的感觉,后者则是横向抽象的感觉,AOP只是OOP的补充,无替代关系。
阅读全文
0 0
- JAVA中AOP与OOP的区别
- AOP与OOP的区别
- AOP是什么?与OOP的区别,java 动态代理
- AOP 与 OOP 区别
- OOP与AOP的区别与联系
- OOP与AOP的区别与联系
- OOP与AOP的区别和联系
- AOP是什么?与OOP的区别
- AOP与OOP的关系
- AOP和OOP的一点区别
- spring Aop中aop:advisor 与 aop:aspect的区别 【爱玩酷java php 学习路径】
- AOP和OOP区别
- OOP和AOP区别
- spring Aop中aop:advisor 与 aop:aspect的区别
- AOP与OOP的关系分析
- AOP、OOP与OOD
- AOP与OOP
- 浅析AOP与OOP
- crontab 指定脚本运行的根目录
- 内容显示到iframe的特定区域
- .Net文档图像处理工具包GdPicture.NET发布v14.0.25,提升1D条形码引擎
- Python中文文档网站推荐:http://python.usyiyi.cn/
- Mysql索引会失效的几种情况
- JAVA中AOP与OOP的区别
- libVlc循环播放视频
- Android 中图片压缩分析(上)
- javaweb中Filter和Servlet的url-pattern配置解析
- php安装imagick问题解决
- .NET 异步方法async await
- 并发编程之ThreadLocal、Volatile、synchronized、Atomic关键字扫盲
- 直观地打印二叉树
- EXCEL读