聊聊比较常见的几种设计模式(1)单例

       设计模式应该是在我们平常在项目中比较常见的,共23种,在一些框架中也是经常会遇到,下面就聊一聊我所知道的几种设计模式

1,单例模式

     单例模式应该是比较常见,也经常老生常谈的模式,在项目中也是有使用的,单例模式顾名思义,在进程中只有一个实例,这个实例在上下线程中是公用的,例如在spring的容器中,同类的bean只能一个,这个就是单例模式的一个使用。

   我们也可以提出一个问题,单例模式的定义是什么,为什么要使用单例模式,单例模式的好处是什么?

单例模式的定义,“一个类有且仅有一个示例,并且自行实例化提供给系统”,这个定义中不难看出来,在系统中对于这个类,只有一个这个类的实例,且是有自己示例化的。

为什么要使用单例模式,单例模式的好处是什么?

       单例模式的好处原自他只有一个实例,这样代表着它只需要一块物理内存,且限制了实例的个数,这样对于这个类来说我们固定了变化,且省下了部分内存。这  些好处可以是我们使用的一个理由,还有一部分如果我们在定义一个独一无二的事务时列如太阳,月亮,这些独一无二的产品我们就可以作为单例使用

     单例中还分为饱汉模式和饿汉模式,两个模式各有不同,饱汉可以理解为一个人并不饿,所以他就很不在乎是不是应该立马去做饭(实例化),会在饿的时候也就是使用的时候进行实例化,饿汉则不同,可以理解为一个人很饿,所以他会立马去做饭(实例化),这就是单例的两种模式,饱含和饿汉。

     我们可以举一个简单的了例子,类如,我们去创建一个文件的网站,但是需要网站需要一些基本的文件的类型,但是这个文件类型肯定是在多个模块中使用的,这样我们就可以把这部分写为一个单例,这样在其他模块使用的时候可以直接调用此部分,这样既可以保证网站内的文件类型存在同一种,也可以在对文件类型进行控制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值