IOC与AOP(控制反转与面向方向编程)
来源:百度文库 编辑:神马文学网 时间:2024/04/29 19:35:39
所有编程中的方法,最终目的是解耦,这句话不是我原产的,但是我目前也强烈地这么认为。解耦的目的是为什么呢?或者说解耦后的代码有什么优势呢?当各个类或者各个函数的目的(或者叫关注点)都很单纯的时候,系统后期的升级,测试都变得相对容易了。这样,系统的寿命延长,系统的缺陷可以很快得到解决,还有什么比这些优点更臭屁的呢?
Spring中的IOC(inversion of control),我觉得是一个相当令人惊叹地做法。在没有IOC的时候,一个对象想要调用另一个对象的方法,那必须要知道这个对象,它什么时候调用,如何调用,都是它说了算,但是有了IOC之后,这些控制权都交给了容器,所以我觉得IOC叫成反转控制似乎不妥。反转控制字面上应该是这样的,例如以前是他控制她,现在成了她控制他。而IOC感觉是现在他俩谁也没控制谁,都被别人控制了,不知道我这个理解是否正点。
AOP这个东西也着实让我费了点学习功夫,现在看来是这样的。AOP的出现肯定是为了解决一些问题的,照应开头一句,为了解耦。解谁和谁的耦?在没有AOP之前,主要业务逻辑代码周围会有很多次要的、支持性质的代码,例如log、事务和检查等功能,这显然是不理想的代码,如果事务的逻辑要改怎么办,检查的逻辑要改怎么办,AOP的出现就是把这些次要的、支持性的代码模块化,封装起来。
IOC和AOP是相互配合的,只有把控制权交给容器,AOP才能发挥作用。
Spring中的IOC(inversion of control),我觉得是一个相当令人惊叹地做法。在没有IOC的时候,一个对象想要调用另一个对象的方法,那必须要知道这个对象,它什么时候调用,如何调用,都是它说了算,但是有了IOC之后,这些控制权都交给了容器,所以我觉得IOC叫成反转控制似乎不妥。反转控制字面上应该是这样的,例如以前是他控制她,现在成了她控制他。而IOC感觉是现在他俩谁也没控制谁,都被别人控制了,不知道我这个理解是否正点。
AOP这个东西也着实让我费了点学习功夫,现在看来是这样的。AOP的出现肯定是为了解决一些问题的,照应开头一句,为了解耦。解谁和谁的耦?在没有AOP之前,主要业务逻辑代码周围会有很多次要的、支持性质的代码,例如log、事务和检查等功能,这显然是不理想的代码,如果事务的逻辑要改怎么办,检查的逻辑要改怎么办,AOP的出现就是把这些次要的、支持性的代码模块化,封装起来。
IOC和AOP是相互配合的,只有把控制权交给容器,AOP才能发挥作用。
IOC与AOP(控制反转与面向方向编程)
AOP面向方面编程新思想
Spring Framework中的面向方面编程(AOP)
Spring Framework中的面向方面编程(AOP),第一部分
Spring Framework中的面向方面编程(AOP),第二部分
Spring Framework中的面向方面编程(AOP),第一部分
Spring Framework中的面向方面编程(AOP),第二部分
Spring控制反转(IoC)的理解
Spring控制反转(IoC)的理解
体验Java 1.5中面向(AOP)编程
AOP:通过面向方面编程提高代码的封装和复用性
体验Java 1.5中面向方面(AOP)编程-开发频道 1
AOP:通过面向方面编程提高代码的封装和复用性
spring,ioc模式与ejb3调用
我理解的IoC和AOP
我理解的IoC和AOP
C 面向对象编程入门:构造函数与析构函数1
C 面向对象编程入门:构造函数与析构函数4
C 面向对象编程入门:构造函数与析构函数5
C 面向对象编程入门:构造函数与析构函数6
c 面向对象的编程入门篇--类构造函数与析构函数
C++面向对象编程入门:构造函数与析构函数
C 面向对象编程入门:构造函数与析构函数2
C 面向对象编程入门:构造函数与析构函数6