【设计模式】行为型02模板方法模式(Template Method Patten)

    五一长假,没有出去,不喜欢嘈杂的人群,玩了会游戏发泄了下憋在心底的戾气,手旁大马克杯里是母亲泡的绿茶。点开自己的播放列表,耳机里传来的是理查德克莱德曼的致爱丽丝。自己是个凡人,卑微渺小的活着。不说废话了,搞起:

    模板方法模式是一种行为型模式,原理比较简单,就是对多态的一种应用,自己也在无意识中使用过很多次,看书时才意识到这种方式被总结为设计模式。


    首先说说我自己的理解:模板方法模式是多态的一种应用。书上如此描述:"在模版方法模式中,通过在模版抽象类中定义一个操作的算法骨架,将一些步骤抽取封装到具体的抽象方法中,强迫子类进行按需要重写实现方法,这样使得在使用的时候,子类可以不改变算法结构即可重新定义算法的特定步骤。模版方法模式是基于继承代码复用的基本技术。"--摘抄自阎宏博士的《JAVA与模式》一书

    核心是定义标准如类图:

  

看到这里我觉得没有什么上代码的必要了。。。。。这里盲写一下

// 抽象父类,定义手机这种产品以及三个抽象方法
abstract class Phone {
	abstract void style();

	abstract void configuration();

	abstract void call();
}

// 子类一,普通手机类,实现三个抽象方法
class NormalPhone extends Phone {
	public void style() {
		System.out.println("生产塑料外壳");
	}

	public void configuration() {

		System.out.println("装配单核CPU1G内存");
	}

	public void call() {
		System.out.println("打电话。。");
	}
}

// 自类二,高级手机类,实现三个抽象方法

class HighGradelPhone extends Phone {

	public void style() {
		System.out.println("生产闪闪发光的土豪金外壳");
	}

	public void configuration() {

		System.out.println("装配108核CPU10G内存");
	}

	public void call() {
		System.out.println("打电话。。。");
	}
}


public class Factory {
	public static void main(String[] args) {
		// 普通手机流水线:
		Phone normal = new NormalPhone();
		normal.style();
		Phone hight = new HighGradelPhone();
		hight.style();
	}
}


emmmm下一篇见


posted @ 2018-04-30 20:11  黑猫先生  阅读(120)  评论(0编辑  收藏  举报