设计模式一模板方法模式(spring)

来源:互联网 发布:林允儿黑历史知乎 编辑:程序博客网 时间:2024/06/05 21:45

 

Quotes: http://dev.firnow.com/course/4_webprogram/php/phpjs/20090308/160053.html

 

设计模式一模板方法模式(spring)

-
-

IoC&DI

inverse of control(控制反转)&dependancy injection(依赖注入)

这两个概念很好的阐述了spring的面向接口编程机制。

所谓控制反转就是说把Action对DAO的控制角色反转为IoC容器对Action的被控角色。也就是说在我们没有采用面向接口编程的时候,我们往往是直接在Action中NEW一个DAO对象,这样一来DAO就被Action控制着,此时Action扮演的就是控制者的角色。而当我们采用面向接口编程时(spring),我们就在spring的配置文件中实现Action与DAO的依赖关系,此时Action与DAO就同时被IoC容器控制着,那么Action扮演的就是被控者的角色了。

所谓依赖注入就是说必须存在一个桥梁的架设过程,也就是我们通常在Action中定义的set方法,这个方法将接口这个桥梁架在了Action与DAO中间,形成互通。

 

模板方法模式

spring 采用的模式也就是模板方法模式,所谓模板方法模式简单说就是父类完全控制着子类的业务逻辑,而子类根据不同的业务对父类的所有抽象方法进行实现。

模板方法模式的使用情形:知道一个算法所需的关键步骤,并确定了这些步骤的执行顺序。但是某些步骤的具体实现是未知的,或者说某些步骤的实现与具体的环境相关。

模板方法模式的使用方法:定义一个abstract的Class,在这个抽象类中,至少包括一个实现模板方法的不可被子类改写的Public方法(需声明为final),在这个公共方法中,实现模板方法的业务处理逻辑,同时,在这个方法中,还包括一些对本类中的抽象方法的调用; 再根据业务的需要,定义各种不同的子类,并实现模板方法类的所有抽象方法。

原创粉丝点击