请简述AOP如何解决传统OOP思想可能出现的问题。
在传统的业务处理代码中,通常都会进行事务处理、日志记录等操作。虽然使用OOP可以通过组合或者继承的方式来达到代码的重用,但如果要实现某个功能(如日志记录),同样的代码仍然会分散到各个方法中。这样,如果想要关闭某个功能,或者对其进行修改,就必须要修改所有的相关方法。这不但增加了开发人员的工作量,而且提高了代码的出错率。为了解决这一问题,AOP思想随之产生。AOP采取横向抽取机制,将分散在各个方法中的重复代码提取出来,然后在程序编译或运行时,再将这些提取出来的代码应用到需要执行的地方。这种采用横向抽取机制的方式,采用传统的OOP思想是无法办到的,因为OOP只能实现父子关系的纵向的重用。
举一反三
- 请简述在MyBatis+Spring的项目中,使用传统的DAO开发方式可能出现的问题。
- 如果某个进程一直没有提交事务,导致锁等待,请简述如何解决此问题
- 解决主观与客观的矛盾问题主要包括( ) A: 解决主观是否反映客观的问题 B: 解决主观如何反映客观的问题 C: 解决精神如何转化物质的问题 D: 解决思想如何转化行为的问题 E: 解决行为是否体现思想的问题
- 以下关于SpringAOP的介绍错误的是( ) A: AOP的全称是Aspect-Oriented+Programming,即面向切面编程(也称面向方面编程)。 B: AOP采取横向抽取机制,将分散在各个方法中的重复代码提取出来,这种采用横向抽取机制的方式,采用OOP思想是无法办到的。 C: 虽然AOP是一种新的编程思想,采取横向抽取机制,是OOP的升级替代品。 D: 目前最流行的AOP框架有两个,分别为Spring+AOP和AspectJ。
- 【简答题】请简述如何解决钢琴弹奏中的技术问题?
内容
- 0
请简述传统单体应用架构可能面临的缺陷。
- 1
AOP面向方面编程是OOP面向对象编程的替代品,能够完全取代面向对象编程。
- 2
简述职业倦怠的表现,以及如何解决职业倦怠问题?
- 3
简述演绎推理可能出现的问题
- 4
发生错误请稍后再试(15)何解?发生错误请稍后再试(15)何解?不会被封号了吧、、