美文网首页
浅谈OOP和AOP

浅谈OOP和AOP

作者: 小新是个程序媛 | 来源:发表于2018-04-06 20:53 被阅读292次

1. 面向对象编程(OOP)

针对业务处理过程中的实体,属性,行为进行封装,以获得更加清晰高效的逻辑单元划分

OOP主要特点

封装 继承性 多态性

2. 面向切面变成(AOP)

针对业务处理过程中的切面进行提取,更偏重于业务处理过程中的某个步骤或阶段,以获得逻辑处理过程中各部分之间低耦合的隔离效果,使代码具有更好的可移植性

AOP主要的特点

源码无关性:在不改变源码的前提下,给程序动态统一添加功能
隔离性:低耦合

AOP的主要功能

日志记录 性能统计 安全控制 事务处理 异常处理

3. OOP和AOP的区别

a. AOP是对OOP的补充
b. OOP是将程序分解成各个层次的对象,面向业务中的名词领域,侧重点在与抽象
c. AOP是将程序运行过程分解成各个切面,从程序运行角度考虑程序的结构,面向业务中的动词领域,侧重点在于解耦

举例说明

  1. 对于“雇员”这样一个 业务实体进行封装,自然是OOP/OOD的任务,我们可以为其建立一个“Employee”类,并将“雇员”相关的属性和行为封装其中。而用AOP设计思想对“雇员”进行封装将无从谈起。
  2. 对于“权限检查”这一动作片断进行划分,则是AOP的目标领域。而通过OOD/OOP对一个动作进行封装,则有点不伦不类。
  3. python中的装饰器,就是AOP的一个很好的实现

相关文章

  • 浅谈OOP和AOP

    1. 面向对象编程(OOP) 针对业务处理过程中的实体,属性,行为进行封装,以获得更加清晰高效的逻辑单元划分 OO...

  • aop概念

    (1)oop与aop的区别: oop是面向对象编程,aop是面向切面编程或者面向方面编程.. (2)aop的用处和...

  • Spring AOP篇

    一、什么是AOP? AOP(Aspect Oriented Programming)面向切面编程。 AOP和OOP...

  • AOP

    AOP是OOP的延续和补充。

  • Spring AOP简介

    为什么需要AOP? AOP(面向切面编程)和OOP(面向对象编程)一样,也是一种编程思想。具体来说,AOP是OOP...

  • iOS 实现AOP编程(Objective-C)

    iOS 实现AOP编程(Objective-C) 一、AOP与OOP OOP(Object Oriented Pr...

  • Android Aop编程总结之一引入AOP

    一.aop概念。 AOP 和 OOP面向对象的特点是继承、多态和封装。为了符合单一职责的原则,OOP将功能分散到不...

  • spring的AOP分析

    AOP的引入 AOP 面向切面编程。可以说是面向对象编程(OOP)的完善和补充。OOP引入了封装,继承,多态等概念...

  • 浅析 aop

    一、什么是aop? aop是面向切面编程。aop是oop的延续,oop的重点在于具体领域模型的抽象,而aop则是针...

  • AOP的设计思想以及ThinkPHP与Laravel的AOP思想

    1. AOP设计思想 1.1 什么是AOP AOP,即面向方面编程,是OOP面向对象编程的补充,OOP引入封装、继...

网友评论

      本文标题:浅谈OOP和AOP

      本文链接:https://www.haomeiwen.com/subject/wbmshftx.html