面向对象的程序设计之工厂模式
Posted 前端精髓
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象的程序设计之工厂模式相关的知识,希望对你有一定的参考价值。
工厂模式
工厂模式是软件工程领域一种广为人知的设计模式,这种模式抽象了创建具体对象的过程。考虑到在ECMAScript中无法创建类,开发人员就发明了一种函数,用函数来封装以特定接口创建对象的细节,如下面的例子所示。
1 function createPerson(name, age, job){ 2 var o = new Object(); 3 o.name = name; 4 o.age = age; 5 o.job = job; 6 o.sayName = function(){ 7 alert(this.name); 8 }; 9 return o; 10 } 11 var person1 = createPerson(“Nicholas”, 29, “Software Engineer”); 12 var person2 = createPerson(“Greg”, 27, “Doctor”);
函数 createPerson() 能够根据接受的参数来构建一个包含所有必要信息的 Person 对象。可以无数次地调用这个函数,而每次它都会返回一个包含三个属性一个方法的对象。工厂模式虽然解决了创建多个相似对象的问题,但却没有解决对象识别的问题(即怎样知道一个对象的类型)。
以上是关于面向对象的程序设计之工厂模式的主要内容,如果未能解决你的问题,请参考以下文章
34面向对象设计模式之工厂模式——简单工厂模式与工厂方法模式比较