单例模式

单例模式:

一个类只能创建一个实例对象

作用:

1、可以节省资源,减少重复创建对象的内存开销

2、针对一些跨模块共享的数据或者方法,可以通过单例来实现(经典案例 日志收集器)

单例模式的要点有三个;

一是某个类只能有一个实例;

二是它必须自行创建这个实例;

三是它必须自行向整个系统提供这个实例。

 

创建单例的实现方式

方法一:

实现__new__方法,然后将类的一个实例绑定到类变量_instance上;如果cls._instance为None,则说明该类还没有被实例化过,new一个该类的实例,并返回;如果cls._instance不为None,直接返回_instance,代码如下:

 单例模式

 

 方法二:

使用装饰器实现单例模式。代码如下:

单例模式

 

上一篇:NetCore 3.1 项目搭建【反射依赖注入,Swagger结合Jwt,sqlSugar+EfCore、异常中间件+Log4Net+MongoDb,Redis+Docker,丰富的公共类库,代码示例


下一篇:ES应用之搜索附近的人