《JavaScript设计模式》读书笔记模板方法模式

这章读完,还是很简单的。

但凡公司有开发框架的,很多是用的这套结构,比如我所在的alibaba B2B、TaoBao

这种模式的实现上有两种方式:

第一种:利用继承

子类继承父类,父类提供生命周期、常用方法之类的。

第二种:利用高阶函数

创建一个工厂函数,执行该函数,会返回一个新创建的函数,并给该新函数提供一个作用域,该域内提供了默认方法,支持传参

var Base = function(param) {
	var fnA = param.A || function() { throw Error('必须传递A方法') };

	var fnB = param.B || function() { throw Error('必须传递B方法') };

	var fnC = param.C || function() { throw Error('必须传递C方法') };
	
	var R = function() {};
	
	R.prototype.init = function

	return R;
};

var ClassA = Base({
	A: function() {},
	B: function() {},
	C: function() {}
});

var ClassB = Base({
	A: function() {},
	B: function() {},
	C: function() {}
});
原文地址:https://www.cnblogs.com/yiyang/p/4978386.html