快速理解Python设计者模式(一)

序言

首先要清楚什么是设计者模式,这种设计模式的存在主要是用来解决什么问题的?设计者模式的存在是为了处理编程过程中遇到的一些特定问题所存在的方案。

Python设计者模式共有23种,而这23种设计模式又分为三类,分别是:创建型模式、结构型模式、行为型模式,这三类几乎涵盖了Python设计概念的全部。

单例模式

单例模式:为了避免同一文件资源互相冲突请求,文件中单例模式在执行的过程中只能生成一个类对象,动态改变执行该对象时,对象最终结果不变且能供全局调用。(python模块模式都是单例模式)。

Class code(object):
    def __new__(cls):
        if not hasattr(cls,'instance')
            cls.instance = super(code,cls).__new__(cls)
        return  cls.instance

Code = code()
Code = code()

Cookie : hasattr()函数检测对象是否存在该属性
以上就是一个标准的单例模式,其实单例就是一个重新析构对象的过程而默认的new方法是Python创建类都会默认执行的析构方法,所以想要使用单例模式的概念,就必须去重新析构new方法。

单例模式第一次执行时,系统会对代码做一个类似于初始化的操作,判断instance这个属性,判断这个属性是否存于本次执行的实例对象当中,如果存在那么就直接返回,如果并未存在,那么就将我们所判断的这个属性添加到这个类当中。
在这里插入图片描述
说的通俗易懂一点,单例模式的属性根据代码动态来创建不同属性的实例对象,但是单例模式的对象执行结束后,通过动态创建出来的实例对象和第一次执行的实例对象必须是同一个对象。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值