java架构师培训-aop和oop的区别

可以说AOP(面向方面的编程,面向方面的编程)是OOP(面向对象的编程,面向对象的编程)的补充和改进。OOP引入了诸如封装,继承和多态性之类的概念,以建立对象层次结构来模拟公共行为的集合。当我们需要为分散的对象引入公共行为时,OOP是无能为力的。换句话说,OOP允许您定义上下关系,但不适用于定义左右关系。例如,日志功能。日志代码通常水平分布在所有对象级别,与它所分配到的对象的核心功能无关。其他类型的代码也是如此,例如安全性,异常处理和透明持久性。这种无关紧要的代码分散在各处,称为跨领域代码。在OOP设计中,它导致大量代码重复,这不利于各种模块的重用。

AOP技术正好相反。它使用一种称为“横切”的技术来剖析封装对象的内部,并将影响多个类的常见行为封装到可重用的模块中,并将其命名为“方面”,即方面。简单地说,所谓的“方面”是封装与业务无关但由业务模块调用的逻辑或职责,这方便了减少系统的重复代码,减少了之间的耦合模块,并促进未来的发展。可操作性和可维护性。AOP代表水平关系。如果“对象”是空心圆柱体,则它封装了对象的属性和行为;那么面向方面编程的方法就像锋利的边缘来分割这些空心圆柱体。打开以获取新闻内幕。切割部分是所谓的“方面”。然后,它以巧妙的技巧恢复了这些切面,没有留下任何痕迹。

java架构师培训

使用“横切”技术,AOP把软件系统分为两个部分:核心关注点和横切关注点。业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点。横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处都基本相似。比如权限认证、日志、事务处理。Aop的作用在于分离系统中的各种关注点,将核心关注点和横切关注点分离开来。正如Avanade公司的高级方案构架师AdamMagee所说,AOP的核心思想就是“将应用程序中的商业逻辑同对其提供支持的通用服务进行分离。”

推荐阅读:java架构师培训:java最佳测试框架JBehave的基本介绍

如果你想了解更多关于java架构师的专业知识,可以加入JAVA架构师交流群:1160405674,里面都是同行,有资源分享包括但不限于(分布式架构、高可扩展、高性能、高并 发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、Mycat、Netty、Kafka、Mysql 、Zookeeper、Tomcat、Docker、Dubbo、Nginx)。欢迎一到五年的工程师加入,合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值