设计模式总结

2019-12-19  本文已影响0人  将军红

1. 单例模式

保证runtime时,只有一个特定的实例

# 1.1 use decorators
def sigleton(cls, *args, **kwargs):
    instance = {}

    def _get_instance():
        if cls not in instance:
            instance[cls] = cls(*args, **kwargs)
        return instance[cls]
    return _get_instance


# test
@sigleton
class BaseClass(object):
    pass

a1 = BaseClass()
print a1
a2 = BaseClass()
print a2

2. 适配器模式

将一个类的接口,转换成另一个类的接口,使原本不兼容不能一起工作的类,可以一起工作

3. 策略模式

运行时决定行为

4. 工厂模式

单个函数里面封装了多个创建,通过提高上下文,返回合适的对象。

5. 装饰器模式

给多个实例加上相同行为

上一篇下一篇

猜你喜欢

热点阅读