何时使用模板模式
当一个操作的流程较为复杂,可分为多个步骤,且对于不同的操作实现类(子类),流程步骤相同,只有部分特定步骤才需要自定义,此时可以考虑使用模板模式。
言归正传,我们的主人公大威德是个花花公子,仗着家里开厂有点小钱,看见皮肤白皙的长腿妹子就会控制不住自己,就想弄到手,所以作为情场老手的大威德少爷,就总结了一些泡MM的规则:1每天在妹子上下班的路口或者地铁口创造偶遇的机会,然后加微信
2.针对妹子不同的爱好,展开不同的攻势,若她涉世未深,就带她看尽世间繁华;若她心意沧桑,就带她坐旋转木马
3.让妹子沉浸在糖衣炮弹创造的虚假爱情里面,迷失自己,然后大威德就得手了,然后就在某个月光如水的夜晚,挟着凉爽的微风,大威德牵着妹子的手相互偎依着进入了格林豪泰。
在此我们发现泡妞三部曲中,第一个是纯情的邻家小妹祖贤,最是那不经意的回眸,一个微笑,变惊艳了年华,让我饮下这爱的毒酒,让我爱到痴醉难收无法放手
第二个是性感妩媚的淑珍:一袭红裙,轻叼扑克,美丽的脸蛋和性感的身材,换谁也控制不住哇
1.废话不多说,根据以上泡妞三部曲,我们先定义抽象类:
public abstract class AbstractPaoMM {
private String beautifulGirl;
public void paoNiu(){
xiehou(beautifulGirl);
puaGirl(beautifulGirl);
ooxx(beautifulGirl);
}
/**
* 在某个不经意的路口,与你来一场最美的邂逅
* @param beautifulGirl
*/
private void xiehou(String beautifulGirl){
System.out.println("在某个路口邂逅女神:" + beautifulGirl);
}
/**
* 追妹子的具体实现放到具体的子类中去实现
*/
protected abstract void puaGirl(String beautifulGirl);
/**
* 不可描述
* @param beautifulGirl
*/
private void ooxx(String beautifulGirl){
System.out.println("在某个月光如水的夜晚,挟着凉爽的微风,大威德牵着 " + beautifulGirl + "的手相互偎依着进入了格林豪泰" );
}
}
2.定义两个实现类:淑珍妹子、祖贤妹子
/**
* 邂逅祖贤妹妹
*/
public class ZuXianMM extends AbstractPaoMM{
public ZuXianMM(String beautifulGirl) {
this.setBeautifulGirl(beautifulGirl);
}
@Override
protected void puaGirl(String beautifulGirl) {
System.out.println("展开甜蜜攻势,针对"+ beautifulGirl +"这样璞玉般清纯的邻家女孩:"+ "若她涉世未深,就带她看尽世间繁华");
}
}
/**
* 邂逅淑贞妹妹
*/
public class ShuZhenMM extends AbstractPaoMM{
public ShuZhenMM(String beautifulGirl) {
this.setBeautifulGirl(beautifulGirl);
}
@Override
protected void puaGirl(String beautifulGirl) {
System.out.println("展开甜蜜攻势,针对"+ beautifulGirl +"这样的性感尤物需要采取:"+ "若她心意沧桑,就带她坐旋转木马");
}
}
3.测试模板方法的类
/**
* 约会两种女孩
*/
public class MobanMethodTest {
public static void main(String[] args) {
AbstractPaoMM paoMM = new ZuXianMM("祖贤");
paoMM.paoNiu();
System.out.println("------- 分割线 --------");
AbstractPaoMM paoMM2 = new ShuZhenMM("淑珍");
paoMM2.paoNiu();
}
}
运行结果如下:
在某个路口邂逅女神:祖贤
展开甜蜜攻势,针对祖贤这样璞玉般清纯的邻家女孩:若她涉世未深,就带她看尽世间繁华
在某个月光如水的夜晚,挟着凉爽的微风,大威德牵着 祖贤的手相互偎依着进入了格林豪泰
------- 分割线 --------
在某个路口邂逅女神:淑珍
展开甜蜜攻势,针对淑珍这样的性感尤物需要采取:若她心意沧桑,就带她坐旋转木马
在某个月光如水的夜晚,挟着凉爽的微风,大威德牵着 淑珍的手相互偎依着进入了格林豪泰