python创建型模式
常见创建型模式
工厂模式(Factory):解决对象创建问题
构造模式(Builder):控制复杂对象的创建
原型模式(Prototype):通过原型的克隆创建新的实例
单例(Borg/Singleton):一个类只能创建同一个对象
对象池模式(Pool):预先分配同一类型的一组实例
惰性计算模式(Lazy Evaluation):延迟计算(python的property)
什么是工厂模式?
解决问题创建对象,解耦对象的创建和使用,包括工厂方法和抽象工厂
------------------------------------------------------------------------------------------------
# 一个工厂方法的例子 class DogToy: def speak(self): print ("汪汪汪") class CatToy: def speak(self): print("miao~") def toy_factory(toy_type): if toy_type == "dog": return DogToy() elif toy_type == "cat": return CatToy()
-------------------------------------------------------------------------------------------------
什么是构造模式
用来控制复杂对象的构造
创建和表示分离。比图你要买电脑,工厂模式直接给你需要的电脑
但是构造模式允许你自己定义电脑的配置,组装完成后给你
--------------------------------------------------------------------------------------------------------------------
什么是原型模式
通过克隆原型来创建新的实例
可以使用相同的原型,通过修改部分属性来创建新的实例
用途:对于一些创建实例开销比较高的地方使用原型模式
---------------------------------------------------------------------------------------
单例模式
一个类创建出来的对象都是同一个
import相同函数都相当于一次
Python的模块其实就是单例的,只会导入一次
使用共享同一个实例的方式来创建单例模式
new魔术方法用来创建实例
--------------------------------------------------------------------------------------------------------------------