上一页 1 ··· 5 6 7 8 9 10 11 12 下一页
摘要: Builder模式:程序的主体是稳定的,构建程序的部分变化相对剧烈。将一个复杂对象的结构与表示分离。结构图://builder/// /// 一个构建House的builder类,假设所有的房子都是由墙,门,窗,地板,屋顶 构成。/// 这个地方相对稳定,抽象出构建房子的接口/// public abstract class HouseBuilder{ public abstract void createWall(); public abstract void createDoor(); public abstract void createWindow(); pub... 阅读全文
posted @ 2013-07-22 11:49 hometown 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂模式:提供一个接口,让该接口负责创建一系列“相关或者相互依赖的对象”,无需指定它们具体的类。{创建型模式}抽象工厂模式以一种倾斜的方式支持增加,可以很容易的增加产品族,但是不能为增加产品等级结构提供方便。[如下图,我们可以很容易的纵向的系统,但是添加横向的控件确不易]实现代码如下:namespace AbstractN{ //AbstractFactory abstract public class ViewFactory { abstract public Button makeButton(); abstract public TextBox makeTextBox(); } // 阅读全文
posted @ 2013-07-18 16:17 hometown 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 以往写代码仅仅是为了实现特定的功能,后期维护或别人重用的时候,困难很大。Javascript作为完全面向对象的语言,要写出最优的代码,需要理解对象是如何工作的。1. 对象是javascript的基础,对象是一系列属性的集合,类似其他语言的散列表。如下两个创建对象,并实现属性的例子是相同的。var obj = new Object(); //给对象Obj设置一系列的属性 obj.name = "rxm"; obj.getAge = function() { return (new Date()).getFullYear() - 1986; }; //------------- 阅读全文
posted @ 2013-07-17 18:26 hometown 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 在javascript中,代码总有一个上下文对象(即:代码属于哪个对象)。上下文对象是通过this实现的,这个变量永远指向当前代码所处的对象中。全局对象其实是window对象的属性。例:下面这个例子运行的时候是会报错的。上下文对象是很容易出问题的,还好我们有call和apply. 和constructor一样,call,apply是Function.prototype的方法。每个Function实例都有的。区分apply,call就一句话, foo.call(this,arg1,arg2,arg3)==foo.apply(this,arguments补救:var main = document 阅读全文
posted @ 2013-07-17 13:52 hometown 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 闭包:闭包本质上就是函数内部和函数外部架起的一座桥梁。闭包是能够读取其他函数作用域内的变量的函数,由于变量是由作用域范围的,要读取其他作用域范围的变量,需理解javascript的“链式作用域结构”,子对象一级一级的向上寻找父作用域对象。一个小例子:function f1() { var n = 99; function f2() { return n; } return f2; } var result = f1(); alert(result()); //比如这个例子:在f1外部是没办法访问n变量的。但是f1内部的函数f2却可以做到; //那么我们可以让f1函数返回f2函数,通过f2可以在 阅读全文
posted @ 2013-07-17 13:50 hometown 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 在Javascript中,作用域是由函数划分的不是块{while,for,if}划分的,写惯了C#,C++的代码后,这块要注意! [需注意:for循环是无法创建本地上下文的。独立的作用域只有通过函数代码才能创建出来]//虽然for循环结束了,但是K依然有效 阅读全文
posted @ 2013-07-15 16:10 hometown 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 函数重载要依赖于两点:判断传入参数数量的能力和判断传入参数类型的能力。JS函数的参数列表,参数仅在函数内有效。参数列表是一个伪数组,可以访问其中的元素,具有.length属性,但是不能push()。 阅读全文
posted @ 2013-07-15 16:09 hometown 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-07-15 16:08 hometown 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 在下面的例子中可以找到强类型语言中所描述的类,属性,方法,对象。this出现在构造函数中,更多的是表示一种特有的属性;prototype主要用于拓展函数的属性,方法。在函数类实例化的时候,this的属性需要复制相应的副本,prototype不用。 阅读全文
posted @ 2013-07-15 16:01 hometown 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 创建型模式:主要聚焦于对象是如何创建的。单例模式,在任何情况下,只允许有一个对象的实例。1. 单线程下的单例模式:public classSingletonTest { private static SingletonTest instance; private SingletonTest() { } public static SingletonTest Instance { get { if (instance == null) { instance = newSingletonTest(); } return instance; } }}2. 多线程情况下的单例模式:public cla 阅读全文
posted @ 2013-07-08 11:21 hometown 阅读(136) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 下一页