设计模式总结

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. 装饰器模式

给多个实例加上相同行为

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.抽象工厂: Factory提供一个创建一系列或相关依赖对象的接口,而无需指定他们具体的类。针对多级结构. 抽象...
    uiiang阅读 2,890评论 0 2
  • 所有的设计模式都找了一种JDK中的实现(并未列出所有,原因是太多,而且本次整理的目的是通过JDK中的实例完成设计模...
    达微阅读 741评论 0 4
  • 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间...
    涵仔睡觉阅读 482评论 0 0
  • 前言 推荐看这篇文章之前先了解Java日记之设计模式初探。 结构型设计模式总共有7种 1.外观模式2.装饰者模式3...
    居居居居居居x阅读 593评论 0 0
  • 前言 GoF的23种设计模式,包括创建型、结构型和行为型,其涵盖了面向对象思想的精髓以及诸多细节。本文结合《设计模...
    尤汐Yogy阅读 4,397评论 0 38