Javascript 什么是工厂?
我和我的一个朋友聊天,他有大约9年的JS经验。他帮我解决了一个代码问题,谈到了闭包和javascript工厂。我以前从未听说过这个词,我想知道“工厂”是否是javascript社区/语言中的一种东西?如果是的话,有人能给我解释一下吗 我知道闭包是什么,但据他说,“工厂”是学习语言的下一个层次。来自: 在基于类的编程中,工厂方法模式是一种创新 使用工厂方法处理创建问题的模式 对象,而无需指定所需对象的确切类 将创建。这是通过调用工厂来创建对象来完成的 方法在接口中指定并由子级实现 类,或在基类中实现并可选地由 派生类,而不是通过调用构造函数 发件人: 工厂模式是另一种与产品相关的创新模式 创建对象的概念。它与其他模式的不同之处 在其类别中,它并不明确要求我们使用 构造器。相反,工厂可以为用户提供通用接口 创建对象,在其中可以指定要创建的factory对象的类型 希望被创造 假设我们有一个UI工厂,要求我们创建一个类型 用户界面组件的设计。而不是直接使用 新操作符或通过另一个创造性构造函数,我们要求 而不是新组件的Factory对象。我们通知工厂什么 对象的类型是必需的(例如“按钮”、“面板”),它会实例化 这个,还给我们使用 如果对象创建过程是 相对复杂,例如强烈依赖于动态因素或 应用程序配置 这种模式的示例可以在诸如ExtJS之类的UI库中找到 其中,创建对象或组件的方法可能更复杂 子类 例如:Javascript 什么是工厂?,javascript,Javascript,我和我的一个朋友聊天,他有大约9年的JS经验。他帮我解决了一个代码问题,谈到了闭包和javascript工厂。我以前从未听说过这个词,我想知道“工厂”是否是javascript社区/语言中的一种东西?如果是的话,有人能给我解释一下吗 我知道闭包是什么,但据他说,“工厂”是学习语言的下一个层次。来自: 在基于类的编程中,工厂方法模式是一种创新 使用工厂方法处理创建问题的模式 对象,而无需指定所需对象的确切类 将创建。这是通过调用工厂来创建对象来完成的 方法在接口中指定并由子级实现 类,或在基类中实
var Brand = {
Daihatsu : function(type) {
this.type = type;
},
Honda : function(type) {
this.type = type;
},
Toyota : function(type) {
this.type = type;
}
};
var Car = {
factory : function(brand, type) {
return new Brand[brand](type);
}
};
var cars = [
Car.factory('Honda', 'Civic'),
Car.factory('Toyota', 'AYGO'),
Car.factory('Daihatsu', 'Consorte'),
Car.factory('Toyota', 'Carina')
];
谷歌的“编程工厂”。请参考我认为你一般不鼓励使用工厂模式的
new
。