• 工厂方法模式

    工厂方法模式

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

    1. var Humanity = (function() {
    2. function Man() {
    3. this.introduce = function() {
    4. return 'I\'m a man.';
    5. }
    6. }
    7. function Woman() {
    8. this.introduce = function() {
    9. return 'I\'m a woman.';
    10. }
    11. }
    12. var humanity = {
    13. male: Man,
    14. female: Woman
    15. };
    16. return function( gender ) {
    17. return new humanity[gender]();
    18. }
    19. })();
    20. var man = new Humanity('male');
    21. var woman = new Humanity('female');
    22. console.log(man.introduce()); // "I'm a man."
    23. console.log(woman.introduce()); // "I'm a woman."