python进阶教程15:单例模式、工厂模式和适配器模式
文章目录
-
-
- python 设计模式之单例模式
-
- 1. 单例模式
- 2. python实现单例模式
-
- 2.1 利用模块实现
- 2.2 利用元类
- python设计模式之简单工厂模式
-
- 1. 简单工厂模式概念
- python设计模式之工厂方法模式
-
- 1. 工厂方法模式概念
- 2. 工厂方法模式示例代码
- 3. 关于工厂方法模式的一些疑问和解答
- python设计模式之原型模式
-
- 1. 原型模式
- 2. python实现
- python 设计模式之代理模式
-
- 2. 代理模式有什么作用和好处呢
- 3. 使用子类不可以么
- python 设计模式之适配器模式
-
- 2. 举例子
- 3. 编码实现
-
python 设计模式之单例模式
1. 单例模式
单例模式是一种创建型模式,它的核心要求是一个类只有一个实例对象,这个要求是违反直觉的,因为在学习面向对象时,所有教程都告诉你,一个类可以创建出多个实例对象。
之所以提这样的要求,是因为在实践中,需要对一些资源的访问做限制,比如数据库连接。假设你实现了一个专门负责连接mysql进行操作的类,它维护了一个大小为10的连接池。在程序的其他地方,如果允许这个类创建出多个实例对象,那么每创建出一个实例对象,都要维护一个大小为10的连接池,那么你的程序与mysql之间所建立的连接就会越来越多,这显然会导致异常灾难。
在单例模式一下,一个类只能创建出一个实例,不管你怎样使用类的构造函数,都永远只有一个实例,这样就能对那些敏感的资源做访问限制。
2. python实现单例模式
python 有很多种实现单例模式的方法,有简单的,有复杂的,我们先来看看最简单的实现方式
2.1 利用模块实现
编写脚本single.py
class DbSingleton