美文网首页Java学习笔记
用通俗的话解释java的AOP, 所谓面向切面编程

用通俗的话解释java的AOP, 所谓面向切面编程

作者: 冷淡的甘蓝 | 来源:发表于2016-08-18 23:07 被阅读340次

不知道为什么, 计算机界的人写的文章都非常的难懂.
一度让人怀疑是不是自己的问题.
一开始的"对象"这个词就有问题, 生成一个对象, 为什么不叫生成一个实例呢? 明显实例好理解多了, 而且"对象"还有歧义.
还有一个什么"最佳实践". 什么鬼! 其实就是"最好这么做"或"推荐做法".
特别是这个AOP(面向切面编程), 这种名字就叫人看不懂, 什么切不切面的.

为什么要起这些奇怪的名字呢, 是不是有什么阴谋?

好, 来说一下.
所谓AOP, 叫做"代码插入式编程风格"好理解一点.
在"对象风格编程"时代, 一发现有重复的代码, 人们就将这块代码抽出来成为一个类. 用这个类来管理这些代码.
但是, 不是所有的重复代码都抽得出来, 有时需要在代码的前后插入.
用对象抽象方法就非常麻烦.
这时有人就想出一方法, 在编译时在这段代码的前后插入代码.
有人给这个事情命名什么切面...还拉面呢.

顺便说一下所谓的"动态代理". 说得云里雾里的.
其时就是, 实现AOP的一种方法.
在运行时, COPY一个类, 就是创建它的分身, 给这个分身插入额外的增强代码.
执行任务的时候, 就用分身来进行.
这就是影分身之术!

所以, 面向对象编程, 什么对象不对象, 还面向领导编程...
不如叫 物体化编程.

改叫法这种事情已经有先例了. Martin Fowler就觉得"控制反转"这种叫法莫名其妙, 不如叫"依赖注入".

相关文章

  • 用通俗的话解释java的AOP, 所谓面向切面编程

    不知道为什么, 计算机界的人写的文章都非常的难懂.一度让人怀疑是不是自己的问题.一开始的"对象"这个词就有问题, ...

  • Spring AOP

    AOP(Aspect Oriented Programming),即面向切面编程,官方的解释是:面向切面编程,通过...

  • 来自于宏的黑魔法 --- 简单实现面向切面编程

    Elixir Macro AOP 面向切面 宏 元编程 什么是 AOP (面向切面编程)? 面向切面编程 AOP(...

  • Spring面试题和答案<4>

    Spring面向切面编程(AOP) 51. 解释AOP 面向切面的编程,或AOP, 是一种编程技术,允许程序模块化...

  • spring aop面试题

    Spring面向切面编程(AOP)1 解释AOP面向切面的编程,或AOP, 是一种编程技术,允许程序模块化横向切割...

  • AOP

    AOP切面编程 AOP: Aspect Oriented Programming 面向切面编程 面向切面编程(也叫...

  • Spring - AOP实现

    什么是AOP编程 AOP: Aspect Oriented Programming 面向切面编程。 面向切面编程(...

  • JavaScript面向切面编程

    面向切面编程 Aspect Oriented Programming(AOP),面向切面编程,是一个比较热门的话题...

  • AOP/Spring AOP/Filter/拦截器 释义

    AOP AOP,面向切面编程,是一种编程思想。 Java中常见的AOP技术 Spring AOP Spring A...

  • iOS:AOP面向切片编程

    AOP简介AOP: Aspect Oriented Programming 面向切面编程。面向切面编程(也叫面向方...

网友评论

    本文标题:用通俗的话解释java的AOP, 所谓面向切面编程

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