js工厂模式和单例模式

单例模式

定义

单例模式在开发当中,是将一个项目进行分组编写代码的模式,把描述同一个事物或者对象的属性和方法放在一个封装好的函数(内存空间)当中.

特点

单例模式它限制了类的实例化次数只能一次。在实例不存在的情况下,可以通过一个方法创建一个类来实现创建类的新实例;如果实例已经存在,它会简单返回该对象的引用。

例子

 let student1={
        name:'zhangsan',
        number:'030303',
        Name:function()
        {
            console.dir(this.name)
        }
    }
    let student2={
        name:'lisi',
        number:'030303',
        Name:function()
        {
            console.dir(this.name)
        }
    }
    console.dir(student1.name)
    console.dir(student2.name)
   	console.log(student1.Name)
    console.log(student2.Name)

效果展示:
在这里插入图片描述

两两互相不影响
在外部调用内部属性,调用方法为 对象.name
在内部调用内部属性,调用方法为 this.name

优点

单例模式具有分组的作用,常常用于项目开发中进行模块化开发.

缺点

单例模式在创建大量结构相同的对象,需要的工作量大,重复率高,不能够进行批量生成.

工厂模式

定义

将要实现某个功能所要具有的方法和属性封装在一个函数当中,在需要的时候进行实例化或者调用

特点

可以批量生产

例子

  function student(name,number) { 
        let obj=new Object();
        obj.name=name;
        obj.number=number;
        obj.Name=function()
        {
            console.log(this.name) ;
        }
        return obj;
     } 
     let student1=student('张三','01')
     let student2=student('李四','02')
     console.dir(student1.name)
     console.dir(student2.name)
    console.dir(student1)
    console.dir(student2)

效果展示
在这里插入图片描述

优点

不使用new关键字,而通过使用工程化的方法,将所有实例化的代码集中在一个函数当中,防止代码重复,简短代码

缺点

工厂模式创建的对象上级都是Object,无法识别每个对象

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值