01 2008 档案
摘要: 为什么要用原型?用原型的好处
比如我们有一个工具栏按钮,“新建”按钮,它是Button的实例,它有长度、宽度属性等,而且属性都赋了值。
现在我们要再添加一个“保存”按钮,它也是Button的实例,它也有长度、宽度属性等,不过它还没赋值,它的值和“新建”按钮的值一样。
如果我们不用原型设计模式的话,可能重新赋一遍值。如果我们用原型设计模式的话,我们可以把“新建”按钮作为“保存”按钮的原型。那样的话就不需要再给“保存”按钮赋值,它的默认的长度、宽度就和“新建”按钮一样了。
阅读全文
摘要:Singleton模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点。这就提出了一个问题:如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?客户程序在调用某一个类时,它是不会考虑这个类是否只能有一个实例等问题的,所以,这应该是类设计者的责任,而不是类使用者的责任。
从另一个角度来说,Singleton模式其实也是一种职责型模式。因为我们创建了一个对象,这个对象扮演了独一无二的角色,在这个单独的对象实例中,它集中了它所属类的所有权力,同时它也肩负了行使这种权力的职责!
阅读全文
摘要:首先,Javascript中每个对象都有prototype属性,他是用来返回对象类型原型的引用的。我们使用prototype属性提供对象的类的一组基本功能。并且对象的新实例会"继承"赋予该对象原型的操作。但是这个prototype到底是怎么实现和被管理的呢?
对于对象的prototype属性的说明,Javascript手册上如是说:所有 Javascript内部对象都有只读的 prototype 属性。可以向其原型中动态添加功能(属性和方法),但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。
下面我们看三个经典的prototype属性的使用示例。
阅读全文

浙公网安备 33010602011771号