`
weiyongliang813
  • 浏览: 12399 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表
适配器模式又叫包装器。因为它们是在用一个新的接口包装另外一个对象。许多时候创建适配器对程序员和设计人员都有好处。 适配器可以被添加到现有代码中协调俩个不同的接口。 例如:在使用js库进行开发,开发团队由于性能,安全等原因的考虑,在不改动已有代码的前提下更换所有的库。有时公司甚至可能会为了帮助开发新手提供一套中间性适配器。创建适配器库是一个比改写所有代码更好的选择 下面就是一个简单的适配器 //将prototype的$函数改成YUI的get方法 function prototypeToYUIAdapter(){ return YHOO.util.Dom.get(arguments ...
门面模式有俩个作用:1是简化类的接口;2是消除类与使用它的客户代码之间的耦合。几乎所有js库的核心原则。这也就是封装的目的。 比如每次点击,拖动和移动某个东西,实际是跟一个门面打交道 function addEvent(el,type,fn){ if(window.addEventListener){ el.addEventListener(type,fn,false); }else if(window.attachEvent){ el.attachEvent('on'+type,fn); }else{ ...
桥接模式:将抽象与其实现隔离开来,以便俩者独立变化。这个模式弱化它与使用它的类和对象之间的耦合,这种模式最容易付诸实施。这种模式对于javascript中常见的事件驱动编程大有裨益  桥接模式最常见和实际应用场合之一是事件监听器回调函数。   addEvent(element,'click',getBeerById); function getBeerById(e){ var id=this.id; asyncRequest('GET',url,function(resp){}); } 这样就做到了事件回调函数与接口之间进行了桥接     2 在现 ...
1.用ajax技术进行异步请求是现在web开发中常见的一个任务。简单的工厂非常适合这种场合,根据浏览器能力不同生成一个   xmlHttpRequest或者ActionXObject var simpleHandler=function(){}; simpleHandle.prototype={ request:function(model,url,callback,postValue){ //相当于调用一个工厂类来获取xhr var xhr=this.createXhrObject(); ...
1.简单工厂模式   工厂模式就是专门负责将大量有共同接口的类实例化,而且不必事先知道每次是要实例化哪一个类的模式。它定义一个用于创建对象的接口,由子类决定实例化哪一 个类。 先看一个简单的java例子 //自行车接口 public interface Bicycle{ public void getName(); public void assemble(); public void wash(); } //自行车产品A public class BicycleA{ public void getName(){ Syst ...
var Pserson={ _age:10, _name:'defaultName', _setAge:function(){}, _setName:function(){}, getName:function(){} }   单体模式应该是javascript中最基本的设计模式。 可以用来划分命名空间,减少全局变量的数目。因为单体只会被创建实例化一次,所以你不用担心自己在构造函数中声明了多少成员。每个方法和属性只会被创建一次。所以单体模式一般是用于不会重复使用的功能模块的封装。比如附件上传控件,比如xhr对象创建封装等类似的 ...
使用原型式继承,不需要定义对象的结构,只需要直接创建一个对象即可。这个对象随后可以被新对象重用 //首先定义一个clone函数 function clone(object){ function F(); F.prototype=object; return new F; } //从上面的代码可以看出 该封装其实跟类式继承有点大同小异 这里相当于是获取了继承后 产生一个新对象返回而已。所以原型式继承是不需要构造结构的 var Person={ name:'defaultName', getName:function(){ return this.name; } ...
js继承主要分为类式继承和原型式继承。   类式继承:大概思路1 继承其构造函数,2.继承其方法,3 声明其构造结果 4 覆盖和扩充自己的方法 首先定义一个常用类Person //定义构造函数 function Person(name){ this.name=name } //定义类的公用方法 Person.prototype.getName=function(){ return this.name } //创建Person对象调用 var boy=new Person("mali"); boy.getName();  创建一个新类Author来 ...
"If I have seen further it is by standing on the shoulders of Giants" —— Isaac Newton (1642-1727)   有人认为Maven是一个依赖管理工具,当然这种想法是错误的(确切的说Maven是一个项目管理工具,贯穿了整个项目生命周期,编译,测试,打包,发布...),但Maven给人造成这种错误的印象也是有原因的,因为Maven的依赖管理十分强大,用好了Maven,你不再需要面对一大堆jar感到头大,依赖冲突,无用依赖等问题也能够得到有效的防止和解决。本节介绍如何用好Maven的依赖管理 ...
当Maven项目很大,或者你运行诸如 mvn site 这样的命令的时候,maven运行需要很大的内存,在默认配置下,就可能遇到java的堆溢出。如: [INFO] Building jar: /home/dl9pf/svn/mindquarry/mindquarry-jcr/mindquarry-jcr-changes/target/mindquarry-migration-with-d ...
Maven强大的一个重要的原因是它有一个十分完善的生命周期模型(lifecycle),这个生命周期可以从两方面来理解,第一,顾名思义,运行Maven的每个步骤都由它来定义的,这种预定义的默认行为使得我们使用Maven变得简单,相比而言 ...
Maven能够帮我们很好的管理测试,我们可以在 src/test/java 和 src/test/resources 下面使用JUnit或者TestNG 编写单元测试和集成测试,然后在命令行运行 mvn test ,测试就会自动运行,同时产生详细的测试报告。对只有一两个人的项目来说 ...
1. 介绍   Maven是Java开发者中流行的构建工具,Maven的好处之一是可以帮助减少构建应用程序时所依赖的软件构件的副本,Maven建议的方法是将所有软件构件存储于一个叫做repository的远程仓库中。   Maven会从ibiblio.org中的公用 ...
Global site tag (gtag.js) - Google Analytics