//适配器模式的作用就像一个转接口. jQuery("#"+id); $id=function (id) { return jQuery("#"+id)[0]; } //就是调用的接口不变,中间转换一下实现方式,适配接口…
适配器的定义 适配器就是一个接口转换器,它可以是一个独立的硬件接口设备,允许硬件或电子接口与其它硬件或电子接口相连,也可以是信息接口.比如:电源适配器.三角架基座转接部件.USB与串口的转接设备等. 两种模式: 类适配器模式:使用继承的适配器 接口 对象适配器模式:使用委托的适配器 抽象类 涉及角色: 源角色(Adaptee):需要适配的类 目标角色(Target):想要得到的接口 适配器(Adapter):转换装置 类适配器模式例子 源角色 public class Banner { priv…
1. 适配器模式简介 1.1 模式定义 适配器模式:通过一个类的接口转换成客户希望的另外一个接口,使原本由于接口不兼容而不能一起工作的那些类可以一起工作. 适配器从结构上分为:类适配器和对象适配器.其中类适配器使用继承关系来对类进行适配,对象适配器使用对象引用来进行适配. C#实现类适配器时,Target只能是接口.实现对象适配器时,Target可以是抽象类也可以是接口. 1.2 使用频率 中高 2. 类适配器模式结构 2.1 结构图 2.1.1 类适配器结构图 2.1.2 对象适配器结构图 2…
工厂模式 function createPerson (name,age,job) { var o=new Object(); o.name=name; o.age=age; o.job=job; o.sayName=function(){ alert(this.name); }; return o; }; var person1=createPerson("Terry",24,"Software Engineer"); person1.sayName(); var…
//桥接模式的作用在于将实现部分和抽象部分分离开来,以便两者可以独立的变化. var singleton=function(fn){ var result; return function(){ return result||(result=fn.apply(this,arguments)); } } var createMask=singleton(function(){ return document.body.appendChild(document.createElement("div&…
<script type="text/javascript"> //挂插着模式又叫发布订阅模式应该是最常用的模式 //1,dom事件就是观察者模式,只要订阅了click事件,当点击div的时候,function click就会触发. div.onclick=function click() { alert("click"); } //2 loadImage(imgAry,function(){ Map.init(); Gamer.init(); });…
<script type="text/javascript"> //简单工厂模式 //定义:由一个方法来决定到底要创建哪个类的实例,而这些实例经常拥有相同的接口.其实例在编译的时候不确定,而是在执行的时候确定. var request1=Request("cgi.xx.com/xxx","get"); request1.start(); request1.done(fn); var request2=Request("cgi…
<script type="text/javascript"> //单例模式 //1,每次点击都会生成一个新的div var createMask=function () { return document.body.appendChild(document.createElement(div)); } $("button").click(function(){ var mask=createMask(); mask.show(); }); //2,有可…
一.ES6语法 ES6中对数组新增了几个函数:map().filter().reduce() ES5新增的forEach(). 都是一些语法糖. 1.1 forEach()遍历数组 forEach()方法用来循环遍历数组,方法中的function回调函数接收3个参数 参数1是遍历的数组内容(item):参数2是对应的数组索引(index),参数3是是数组本身(array). [].forEach(function(item,index,array){ ... }) var arr = ["白板&…
刚入职时,看过一段时间的设计模式,似懂非懂.不知不觉过去七个月了,对JS的理解更深刻了,数据结构与算法的基础也基本上算是过了一遍了,接下来要把设计模式搞定,然后不再深层次研究JS了,而是学习前端自动化.linux.数据库.服务器等的相关知识. 虽然各种模式非常有用,但我们编写业务代码的时候,往往不需要去预先猜测是否需要使用模式,当发现不方便维护和扩展的时候,再编写也不迟. 设计模式的学习主要参考<JavaScript设计模式与开发实践>一书,很多笔记也会从该书抄录.开始JS设计模式的学习. 1…