林秀栋的技术博客

设计模式(十三) 模板方法模式

//将需求颗粒化,数据有顺序的传递,代码解耦,更有利于单元测试或需求变更时的修改

//第二站,请求数据
var sendData = function(data, dealType, dom){
	//ajax请求
	//...
	success: function(res){
		dealData(res, dealType, dom);
	}
}
//第三站,根据获得的数据进行适配
var dealData = function(data, dealType, dom){
	if(...){
		createSug(newData, dom);
	}
}
//第四站,创建模块
var createSug = function(){
	//渲染界面
}

//第一站,绑定事件
var input = document.getElementsByTagName('input');
input.onchange = function(e){
	sendData(...);
}