1
我正在學習設計模式,我最喜歡的是工廠模式。但是當我挖掘其他人編寫的代碼時,我並不認爲這種模式經常發生,特別是在較新的堆棧上。node.js中的工廠模式(快速)
例如本文http://dealwithjs.io/design-patterns-the-factory-pattern-in-javascript/樣品看起來像這樣的:
function SimpleFactory(name) {
var factoryName = name;
var getSalesEmployee = function(firstName, lastName) {
return {
firstName: firstName,
lastName: lastName,
comission: 0,
salary: 100,
projects: [],
type: 'sales'
};
}
var getEngineerEmployee = function(firstName, lastName) {
return {
firstName: firstName,
lastName: lastName,
salary: 150,
manager: '',
technologies: [],
projects: [],
type: 'engineer'
}
}
var getName = function() {
return factoryName;
}
return {
getSales: getSalesEmployee,
getEngineer: getEngineerEmployee,
getName: getName
}
}
module.exports = {
getInstance: SimpleFactory
}
上面的代碼對我來說是控制器,但通常我只是把它寫這樣
modue.exports = {
funcA =() => {}
funcB =() => {}
}
,並在另一個文件我可以使用something.funcA,爲什麼我仍然需要在這裏使用工廠?我認爲節點的共同點解決了泄漏問題。
這實際上並不需要。你可以像'module.exports = SimpleFactory'這樣的東西,然後當你需要時'var SimpleFactory = require('./ factoryModule'); SimpleFactory.getEngineerEmployee()' – nicowernli