zoukankan      html  css  js  c++  java
  • 工厂方法模式

    工厂方法模式,通过对产品类的抽象使其创建业务,主要负责创建多类产品的实例。
    前面记录了简单工厂模式,但是需求时不断变化的,当需求简单时,直接创建对象就行,需求多了就可以用简单工厂重构,但是当需求不断增加时,我们不仅要添加类,还要修改工厂函数,这样很不友好,所有还需要更好的模式来适应更多的需求。

    安全模式类

    var Demo = function () {
        if(!(this instanceof Demo)){
            return new Demo();
        }
    }
    var d = Demo();
    d.show();//成功获取
    

      

    安全的工厂方法

    //安全模式创建的工厂类
    var Factory = function (type,content) {
        if(this instanceof Factory){
            var s = new this[type](content);
            return s;
        }else {
            return new Factory(type,content);
        }
    }
    
    //工厂原型中设置所有类型数据对象的基类
    Factory.prototype = {
        java:function (content) {
        },
        javaScript1:function (content) {
    
        },
        ui:function (content) {
        },
        php:function (content) {
    
        }
    };
    

      工厂方法模式本意是将实际创建对象工作推迟到子类当中,这样核心类就成了抽象类,但是JavaScript没有像传统创建类那样的方式轻易创建抽象类,所以在JavaScript中实现工厂方法模式只需要参考其核心思想即可。可以将工厂方法看作是一个实例化对象的工厂类,安全起见,采用安全模式类,将创建对象的基类放在工厂方法类的原型中即可。

  • 相关阅读:
    注意安全 保重身体
    抽象和接口的区别
    哪些设计模式最值得学习
    超级扫盲什么是设计模式?
    简单工厂、工厂方法和抽象工厂模式
    通过领域模型设计物流系统
    json过滤特殊字符
    数据库性能优化JOIN方法说明[转]
    策略模式
    观察者模式
  • 原文地址:https://www.cnblogs.com/bigman-bugman/p/12260983.html
Copyright © 2011-2022 走看看