要是实在不知道要干什么,那就喝两杯思路就来了!

导航菜单

设计模式之模板模式

模板模式的设计思想是:在父类模板中定义所有的方法,子类模板在继承父类所有的方法时,部分方法需要重写,从而避免代码的大量冗余和项目结构上更有条理性。下面的例子中以制造果汁为例,让苹果模板继承水果模板,并且在子类中将加入原材料一个环节进行了重写。

// 基类构造函数
function Fruit () {};

Fruit.prototype.make = function (meta) {
	// 倒水
	this.water();

	// 加料
	this.meta(meta);

	// 搅拌
	this.jiaoban();

	// 凉凉
	this.liangliang();
}

Fruit.prototype.water = function () {
	console.log('把水倒入杯中');
}

Fruit.prototype.meta = function () {
	throw ('操作失误,此方法需要在子类重新定义');
}

Fruit.prototype.jiaoban = function () {
	console.log('进行充分搅拌');
}

Fruit.prototype.liangliang = function () {
	console.log('凉凉一会再喝');
}

// 子类构造函数
function Apple () {}

Apple.prototype = new Fruit();

Apple.prototype.meta = function (meta) {
	console.log('加工' + meta + '汁加入水中');
}

var apple = new Apple();

apple.make('苹果');


发表评论