第六个设计模式之:模板方法
模板方法模式主要是对大方法体细化
一.
UML
示意图
二.
组成部分
1.
抽象构件
2.
具体构件
三.
代码例子:我用一个简单的例子来说明—计算食物价格
1.
抽象构件
package
com.eekq.template;
public
abstract
class
AbstractFood {
/**模板方法*/
public
float
pay(){
//公共的业务代码
return
price()*0.8f;
}
/**抽象方法,物品单价*/
abstract
public
float
price();
}
2.
具体构件
package
com.eekq.template;
public
class
Food
extends
AbstractFood {
private
float
price
;
public
Food(
float
price){
this
.
price
= price;
}
public
float
price() {
return
price
;
}
}
3.
客户调用
package
com.eekq.template;
public
class
Main {
/**
*
@param
args
*/
public
static
void
main(String[] args) {
AbstractFood car =
new
Food(50);
System.
out
.println(
"价钱:"
+car.pay()+
"元"
);
}
}
四.
运行结果
价钱:40.0元
总结:模板方法模式优点在于对一个大方法(这里用pay()表示)进行细化处理的,这样就使一个上百行代码的大方法更具可读性和维护性了.在Eclipse中重构快捷是:Alt+Shift+M 这样就可抽取出大方法体中的一部分来了.
作者:飞行鱼 QQ:6868861 推荐J2EE群:7715552