工厂方法模式

优质
小牛编辑
189浏览
2023-12-01

工厂方法模式是一种实现了「工厂」概念的面向对象设计模式。就像其他创建型模式一样,它也是处理在不指定对象具体类型的情况下创建对象的问题。工厂方法模式的实质是「定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类。工厂方法让类的实例化推迟到子类中进行。」

var Humanity = (function() {  function Man() {    this.introduce = function() {      return 'I\'m a man.';    }  }​  function Woman() {    this.introduce = function() {      return 'I\'m a woman.';    }  }​  var humanity = {    male: Man,    female: Woman  };​  return function( gender ) {    return new humanity[gender]();  }})();​var man = new Humanity('male');var woman = new Humanity('female');​console.log(man.introduce());     // "I'm a man."console.log(woman.introduce());   // "I'm a woman."