JavaScript 设计模式深度解析
1. 单例模式
单例模式确保一个类只有一个实例,并提供一个全局访问点。可以通过将构造函数和实例包装在一个立即执行函数中来实现。以下是示例代码:
var Universe;
(function () {
var instance;
Universe = function Universe() {
if (instance) {
return instance;
}
instance = this;
// all the functionality
this.start_time = 0;
this.bang = "Big";
};
}());
在这个实现中,第一次调用构造函数时,会创建一个对象并将私有实例指向它。从第二次调用开始,构造函数直接返回私有变量。
2. 工厂模式
工厂模式的目的是创建对象,通常在类或类的静态方法中实现。它有以下两个主要目的:
- 执行设置相似对象时的重复操作。
- 为工厂的客户提供一种在编译时不知道具体类型(类)的情况下创建对象的方法。
以下是一个汽车工厂的示例:
// parent constructor
function CarMaker() {}
// a method of the parent
CarMake