admin 管理员组

文章数量: 887039

OOP,BOP,AOP,IOC,DI这些字母代表着什么?

电子计算器起源于国外,兴盛于美国,编程同样如此.国外总是会有新颖的编程思想
经过时间的沉淀与足够的实践之后被奉为经典,而由于单词过长所以经常会缩写
国内在引入的时候,也就跟着缩写了.相当于编码再压缩,如果没听过单看缩写
绝对不知道是什么鬼的东西

OOP:

就是我们平时常说面向对象编程, 但是这里的面向对象编程,指的的面向对象编程范式, 而非指拥有面向对象语法特性的面向对象语言, 因为使用面向对象语言写出来的代码不一定是符合面向对象编程范式的.
所谓的面向对象编程范式 一言以蔽之就是: “用代码描述生活”,
更加贴近我们的工作就是 “把业务场景用代码描述下的同时保留他们在现实生活中的关系”,
因为单纯的用代码实现业务面向过程变成范式也可以做到,只是在原本的面向过程编程范式中无法自然的描述与体现出事务与事务之间的关系,所以导致了面向过程编程范式所写出的代码,在复杂的业务场景下 难以维护,错漏百出.

BOP:

就是基于OOP的基础上,针对OOP编程所产出的一个个类的管理理念

  1. BOP基于OOP
  2. BOP中的 B就是 Bean的意思 而Bean一般代指我们写出的类

首先为什么会出现OOP, 就是因为原本的面向过程编程范式的编程手法已经无法满足如今,系统的复杂度了, 所以才会向上抽象一层形成OOP(面向对象编程范式)的概念, 那么为什么会有BOP 也是因为单纯的将事务抽象出来形成一个个Bean 已经无法满足当前的业务复杂度了, Bean太多难以管理,所以诞生了管理Bean的想法,而这个想法最后经过实践成了- BOP

AOP:

AOP 是找出多个Bean(类)中共同的业务逻辑(具有规律的代码), 在编码时抽出,在运行时加入,达到修改简单,逻辑易懂的目的

IOC:

IOC是控制反转, IOC概念也是基于BOP思想的一条具体细节实现出的概念.
需要注意的是IOC容器 和IOC概念不是同一个东西, IOC容器就是一个控制反转之后将对象装载在其中的容器,
具体可以概念可以参考:

DI:

依赖注入,假设我有一个含有所有Bean的容器,且先不管Bean怎么来,就说我已经拥有此容器,那么此时谁需要Bean 就可以从我这个容器中取出即可,无需再次创建,
至于如何将Bean丢到容器里面,者也就是BOP思想中的一部分,像是Spring采用的就是将对象申明在xml 文件中或是通过注解标注这些就是BOP思想的具体实现了

本文标签: OOP bop AOP IOC DI这些字母代表着什么