`
小麦麦子
  • 浏览: 30684 次
文章分类
社区版块
存档分类
最新评论

Python设计模式之单例模式

阅读更多

1.由于语言的特性不同,设计模式的实现方式和实现难度也会不同

2.有的模式已经在语言内置了,比如迭代器模式。

3.单例模式可以直接用模块级变量来实现

4.普通工厂模式可以直接通过传入“类名”作为参数实现

 

单例模式实例:

 

12_eg.py

class SingleClass:

    def __init__(self,x=0):

        self.x = 0

 

sc = SingleClass()

 

def tsc():

    print(sc.x)

    sc.x = 10

    print(sc.x)

 

def tsc2():

    print(sc.x)

    sc.x = 9

    print(sc.x)

 

if __name__ == '__main__':

    tsc()

    tsc2()

 

程序的运行结果为:

 

 

12_egs.py

class Singleton:

 

    def __new__(cls,*args,**kwargs):

 

        if not hasattr(cls,'_sgl'):

            cls._sgl = super().__new__(cls,*args,**kwargs)

        return cls._sgl

 

if __name__ == '__main__':

    sa = Singleton()

    sb = Singleton()

    print(id(sa))

    print(id(sb))

 

程序的运行结果为:

 

 

通过传入“类名”作为参数实现:

 

12_eg2.py

class Ab:

    a = 3

 

class Ac:

    a = 0

 

class MyFactory:

    def get_instance(self,ins):

        return ins()

 

if __name__ == '__main__':

    mf = MyFactory()

    print(type(mf.get_instance(Ab)))

    print(type(mf.get_instance(Ac)))

 

程序的运行结果为:

 

 

 

原文链接:http://www.maiziedu.com/wiki/python/designpattern/

<!--EndFragment-->
  • 大小: 21.1 KB
  • 大小: 21.5 KB
  • 大小: 32.5 KB
分享到:
评论

相关推荐

    python 设计模式之单例模式

    python 设计模式之单例模式

    使用python写的单例模式日志记录器(设计模式之单例模式)

    总结来说,这个Python实现的单例模式日志记录器结合了设计模式与日志管理的最佳实践,确保在整个应用程序中只有一个日志记录器实例,方便管理和共享。通过这种方式,我们可以有效地跟踪程序运行状态,同时避免了资源...

    python设计模式第2版.pdf

    Python设计模式(第2版)通过11章内容,全面揭示有关设计模式的内容,并结合Python语言进行示例化的解析。全书囊括单例设计模式、工厂模式、门面模式、代理模式、观察者模式、命令模式、模板方法模式、复合模式、状态...

    设计模式之单例模式

    单例模式是软件设计模式中的一种基础模式,它在Java编程中被广泛应用。单例模式的主要目的是确保一个类只有一个实例,并提供一个全局访问点。这种模式可以有效地控制资源的使用,限制实例的数量,提高性能,尤其是在...

    Python 115.设计模式_单例模式实现.mp4

    Python 115.设计模式_单例模式实现.mp4

    设计模式单例模式示例代码(python--c++)

    单例模式是软件设计模式中的一种经典模式,其主要目的是确保一个类只有一个实例,并提供一个全局访问点。这种模式在很多场景下非常有用,比如控制特定资源的访问,或者在整个应用中只创建一次数据库连接等。 在C++...

    在Python中实现单例模式.docx

    单例模式是一种常用的设计模式,用于确保一个类只有一个实例,并提供一个全局访问点。在很多情况下,我们希望在整个应用程序中只存在一个特定类型的对象实例,例如配置管理器、日志记录器等。Python作为一种灵活且...

    设计模式专题之(一)单例模式---设计模式单例模式模式示例代码(python--c++)

    单例模式是软件设计模式中的一种基础且广泛应用的模式,其主要目的是确保一个类只有一个实例,并提供一个全局访问点。这种模式在资源管理、配置对象、缓存等场景下非常常见,因为它可以避免因频繁创建和销毁对象而...

    详解python实现线程安全的单例模式

    单例模式是软件设计模式中的一种,其核心思想是确保一个类只有一个实例,并提供一个全局访问点。在Python中,由于解释器的特性,模块级别的变量实际上天然具有单例属性,因为模块只会被导入一次,因此模块内的变量也...

    python设计模式-练习代码

    Python设计模式是软件开发中的一种最佳实践,它是一种在特定情境下解决常见问题的经验总结。设计模式并不是具体的代码或库,而是对重复出现的编程结构的标准化命名和描述。通过理解并应用设计模式,开发者可以编写出...

    Python 设计模式 第2版

    全面揭示有关设计模式的内容,并结合Python语言进行示例化的解析。全书囊括单例设计模式、工厂模式、门面模式、代理模式、观察者模式、命令模式、模板方法模式、复合模式、状态设计模式以及反模式等多种设计模式。

    python设计模式及源码

    Python设计模式是面向对象编程中的一个关键概念,它是一套被广泛接受的解决常见问题的最佳实践。这本书“精通Python设计模式”提供了深入的洞察力,帮助开发者理解和应用这些模式到他们的Python项目中。设计模式是对...

    python设计模式

    在Python中,设计模式同样发挥着关键作用,帮助开发者构建可维护、可扩展且高效的代码。以下将详细讨论标题和描述中提及的几种设计模式。 1. **Simple Factory模式** Simple Factory模式是一种创建型设计模式,它...

    python 项目里常用的设计模式 组合模式 策略模式 抽象工厂 代理模式 工厂模式 观察者模式 简单工厂 建造者模式 模板模式

    python 项目里常用的设计模式 单例模式 组合模式 策略模式 抽象工厂 代理模式 工厂模式 观察者模式简单工厂 建造者模式 模板模式 桥接多维度 桥接模式 适配器模式 外观模式 享元模式 责任链组合模式

    Python-图说设计模式

    《Python-图说设计模式》是一本以图形和代码相结合的方式深入解析设计模式的书籍,主要面向Python开发者,尤其适合那些希望通过图形化理解来增强编程思维的读者。设计模式是软件工程中的宝贵经验总结,是解决常见...

    python实现23种设计模式.设计模式python语言版

    而"python爬虫js加密解密系列文章合集-云栖社区-阿里云.url"可能是一个链接,指向有关Python爬虫中使用设计模式解决JS加密和解密问题的文章集合,虽然这不是23种设计模式的一部分,但对于Python开发者来说,理解如何...

    通过python实现单例模式(类变量).rar

    压缩包文件代码是一个常见的设计模式——单例模式(Singleton Pattern) 的 Python 实现。单例模式确保一个类只有一个实例,并提供一个全局访问点来获取该实例。这在需要控制资源访问或需要协调系统范围内的操作时...

    精通python设计模式源码

    《精通Python设计模式源码》是一本专注于Python编程领域中的设计模式实践的资源包,名为"mpdp-code-master"。这个压缩包很可能是为学习者提供了一整套关于设计模式的实战代码,帮助他们深入理解并掌握如何在Python中...

    精通python设计模式

    《精通Python设计模式》这本书是针对那些希望提升Python编程技能,特别是想要深入理解软件设计原则和模式的专业人士所准备的。作为运维高级工程师,掌握设计模式不仅能够优化代码结构,提高代码可读性和可维护性,还...

Global site tag (gtag.js) - Google Analytics