javascript设计模式之Adapter模式【适配器模式】实现方法示例
本文实例讲述了javascript设计模式之Adapter模式。分享给大家供大家参考,具体如下:
所谓Adapter模式就是适配器模式,主要是指使两个原本没有关联的类结合一起使用。
JS实现Adapter模式示例如下:
<!DOCTYPEhtml>
<html>
<head>
<title></title>
<scripttype="text/javascript"src="json.js"></script>
<scripttype="text/javascript"language="javascript">
varDataSource01={};
DataSource01.Author="Kevin";
DataSource01.GetName=function(){
return"Kevin";
};
DataSource01.GetAge=function(){
return35;
};
varDataSource02={};
DataSource02.Author="Leo";
DataSource02.MyName=function(){
return"Leo";
};
DataSource02.MyAge=function(){
return25;
};
varDataSource03={};
DataSource03.Author="zhihui";
DataSource03.Name=function(){
return"zhihui";
};
DataSource03.Age=function(){
return25;
};
//讲所有的放入一个数组中
//在生成随机数后可以以下标
varDataSources=[DataSource01,DataSource02,DataSource03];
varDataAdapter={};
DataAdapter.DataSource=false;
DataAdapter.SetDataSource=function(ds){
DataAdapter.DataSource=ds;
};
DataAdapter.ReturnData=function(){
varData={};
Data.Author=false;
Data.Name=false;
Data.Age=false;
//生成随机数
//用来随机模拟前台的点击
varrand=Math.random();
rand=Math.floor(Math.random()*3);
console.log(rand);
console.log(DataSources[rand]);
DataAdapter.SetDataSource(DataSources[rand]);
if(rand==0){
Data.Author=DataAdapter.DataSource.Author;
Data.Name=DataAdapter.DataSource.GetName();
Data.Age=DataAdapter.DataSource.GetAge();
}elseif(rand==1){
Data.Author=DataAdapter.DataSource.Author;
Data.Name=DataAdapter.DataSource.MyName();
Data.Age=DataAdapter.DataSource.MyAge();
}elseif(rand==2){
Data.Author=DataAdapter.DataSource.Author;
Data.Name=DataAdapter.DataSource.Name();
Data.Age=DataAdapter.DataSource.Age();
}
returnData;
};
functionShowData(){
varData=DataAdapter.ReturnData();
alert(Data.toJSONString());
}
functionChooseDS01(){
DataAdapter.SetDataSource(DataSource01);
}
functionChooseDS02(){
DataAdapter.SetDataSource(DataSource02);
}
</script>
</head>
<body>
<inputtype="button"value="DataSource01"onclick="ChooseDS01()">
<inputtype="button"value="DataSource02"onclick="ChooseDS02()">
<inputtype="button"value="ShowData"onclick="ShowData()">
</body>
</html>
更多关于JavaScript相关内容可查看本站专题:《javascript面向对象入门教程》、《JavaScript中json操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。