javascript设计模式之Adapter模式【适配器模式】实现方法示例
本文实例讲述了javascript设计模式之Adapter模式。分享给大家供大家参考,具体如下:
所谓Adapter模式就是适配器模式,主要是指使两个原本没有关联的类结合一起使用。
JS实现Adapter模式示例如下:
<!DOCTYPE html> <html> <head> <title></title> <script type="text/javascript" src="json.js"></script> <script type="text/javascript" language="javascript"> var DataSource01={}; DataSource01.Author="Kevin"; DataSource01.GetName=function(){ return "Kevin"; }; DataSource01.GetAge=function(){ return 35; }; var DataSource02={}; DataSource02.Author="Leo"; DataSource02.MyName=function(){ return "Leo"; }; DataSource02.MyAge=function(){ return 25; }; var DataSource03={}; DataSource03.Author="zhihui"; DataSource03.Name=function(){ return "zhihui"; }; DataSource03.Age=function(){ return 25; }; //讲所有的放入一个数组中 //在生成随机数后可以以下标 var DataSources=[DataSource01,DataSource02,DataSource03]; var DataAdapter={}; DataAdapter.DataSource=false; DataAdapter.SetDataSource=function(ds){ DataAdapter.DataSource=ds; }; DataAdapter.ReturnData=function(){ var Data={}; Data.Author=false; Data.Name=false; Data.Age=false; //生成随机数 //用来随机模拟前台的点击 var rand=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(); }else if(rand==1){ Data.Author=DataAdapter.DataSource.Author; Data.Name=DataAdapter.DataSource.MyName(); Data.Age=DataAdapter.DataSource.MyAge(); }else if(rand==2){ Data.Author=DataAdapter.DataSource.Author; Data.Name=DataAdapter.DataSource.Name(); Data.Age=DataAdapter.DataSource.Age(); } return Data; }; function ShowData(){ var Data= DataAdapter.ReturnData(); alert(Data.toJSONString()); } function ChooseDS01(){ DataAdapter.SetDataSource( DataSource01); } function ChooseDS02(){ DataAdapter.SetDataSource( DataSource02); } </script> </head> <body> <input type="button" value="DataSource01" onclick="ChooseDS01()"> <input type="button" value="DataSource02" onclick="ChooseDS02()"> <input type="button" value="Show Data" onclick="ShowData()"> </body> </html>
更多关于JavaScript相关内容可查看本站专题:《javascript面向对象入门教程》、《JavaScript中json操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
相关推荐
Triagen 2016-03-02
前几篇介绍了设计模式的特性并且详细讲解了4种创建型模式,创建型模式是负责如何产生对象实例的,接下来讲讲结构型模式。结构型模式是解析类和对象的内部结构和外部组合,通过优化程序结构解决模块之间的耦合问题。
iamlazyphper 2019-04-10
PHP100 2019-03-28
人人都是产品经理 2018-05-07
编程语言与高级语言虚拟机杂谈仮 2018-04-16
MATLAB 2017-12-20
wellfly 2020-01-10
绿豆饼 2019-10-20
89550492 2011-09-13
喝绿茶的猫 2015-05-30
llzhangfly 2012-11-26
Colphin 2019-06-28
onlyring的文档库 2012-05-31
康 2014-12-12
lxypeter 2010-09-17
guanguanmeng 2019-06-21
XiaoMuFireAnt 2009-09-02
vincent 2012-03-05