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魔术方法用来创建实例

python创建型模式

--------------------------------------------------------------------------------------------------------------------