面试笔录---aop和oop

1.什么是aop:

aop又叫面向切面编程,AOP偏重业务处理过程的某个步骤或阶段,强调降低模块之间的偶合度,使代码拥有更好的移植性。

2.什么是oop:

oop也就是我们熟悉的面向对象编程,是对业务分析中抽取的实体进行方法和属性的封装。

3.aop与oop的区别:

AOP和OOP都是一套方法论,也可以说成设计模式、思维方式、理论规则等等。 AOP不能替代OOP,OOP是obejct abstraction,而AOP是concern abstraction,前者主要是对对象的抽象,诸如抽象出某类业务对象的公用接口、报表业务对象的逻辑封装,更注重于某些共同对象共有行为的抽象,如报表模块中专门需要报表业务逻辑的封装,其他模块中需要其他的逻辑抽象,而AOP则是对分散在各个模块中的共同行为的抽象,即关注点抽象。一些系统级的问题或者思考起来总与业务无关又多处存在的功能,可使用AOP,如异常信息处理机制统一将自定义的异常信息写入响应流进而到前台展示、行为日志记录用户操作过的方法等,这些东西用OOP来做,就是一个良好的接口、各处调用,但有时候会发现太多模块调用的逻辑大都一致、并且与核心业务无大关系,可以独立开来,让处理核心业务的人专注于核心业务的处理,关注分离了,自然代码更独立、更易调试分析、更具好维护

4.总结:

aop是对各个模块中的共同行为的抽象,oop更注重于某些共同对象共有行为的抽象

你可能感兴趣的:(aop,oop)