JS设计模式(一)

Javascript设计模式之创建型设计模式

设计模式是一种软件开发的思想,有益于降低代码的耦合性,增强代码的健壮性。往往在大型项目中用的比较多。

一. 简单工厂模式

简单工厂模式: 又叫静态工厂方法,由一个工厂对象决定创建某一种产品对象实例。主要用来创建同一类对象

/*方式一,对不同类实例化封装*/
    //创建提示框类
    var  LoginAlert  = function(text){
        this.content = text
    }
    
    LoginAlert.prototype.show = function(){
        //显示警示框
    }
    
    var userNameAlert = new LoginAlert('用户名不能多于16个字母或数字');
    userNameAlert.show();
    
    var passWordAlert = new LoginAlert('密码错误');
    passWordAlert.show();
    
    
    //创建确认框类
    var LoginConfirm = function(text){
        this.content = text
    }
    
    LoginConfirm.prototype = {
        show:function(){
            //弹出确认框(确认框是包含两个按钮的)
    
            },
        draw:function(){//绘制确认框
            
        }    
    }
    
    var loginSucess = new LoginConfim('欢迎回来');
    var loginFailed = new LoginConfim('登录失败');
    loginSucess.draw();
    loginSucess.show();
    loginFailed.show();
    
    //现在将两个类封装成一个简单工厂函数
    var PopFactory = function(name){
        switch(name){
            case 'alert'
                return new LoginAlert();
            case 'confirm'
                return new LoginConfirm();
        }
    }
    
    new PopFactory('alert');
    
    /*方式二,创建相似对象*/
    function CreatPop(type,text){
        var o = new Object();
        o.content = text;
        o.show = function(){
            //显示弹框
        }
        
        if(type == 'alert'){
            //
        }
        if(type == 'confirm'){
            //确认框
        }
        
        return o
    }
    
    var loginConfirm = new CreatPop('confirm','欢迎回来')

总结

第一种方式是通过实例化对象创建的,第二种是通过创建一个新对象然后包装增强其属性功能来实现的。他们之间的差异性也造成前面通过类创建的对象,如果这些类继承一同父类,那么他们的父类原型上的方法是可以共用的。而寄生方式创建的对象是一个新个体,所以他们的方法就不能共用了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,138评论 1 32
  • 工厂模式简述 工厂模式,顾名思义,就是为了创造对象。 工厂模式类似于现实的工厂生产线,可以生产出大量类似的商品。 ...
    5d18ee6b5b1c阅读 464评论 0 0
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,827评论 2 17
  • 设计模式基本原则 开放-封闭原则(OCP),是说软件实体(类、模块、函数等等)应该可以拓展,但是不可修改。开-闭原...
    西山薄凉阅读 3,869评论 3 14
  • 创建型模式 工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设...
    隔墙送来秋千影阅读 2,684评论 0 11