Python 物件導向 單列模式

2021-10-01 22:16:19 字數 748 閱讀 7411

1

. 什麼是單例模式: 乙個類有且只能建立乙個物件空間, 目的是為了節約記憶體資源

例如: **站(資料庫操作類)

, 只需要乙個物件就能完成所有的功能, 沒有必要建立多個物件浪費記憶體資源.

2. 實現單例模式

class

singleton

(object):

# 類屬性

__instance =

none

__isinit =

false

# 是否初始化

# 重寫__new__方法

def__new__

(cls,

*args,

**kwargs)

:if cls.__instance is

none

:# 建立物件空間

cls.__instance =

super()

.__new__(cls)

# 無論如何都返回物件空間

return cls.__instance

def__init__

(self,name)

:if singleton.__isinit is

false

:# 沒有初始化

# 就進行初始化

self.name = name

# 改變條件

singleton.__isinit =

true

python單列模式 Python單列模式

實現單例模式的幾種方式 1.使用模組 2.使用裝飾器 3.使用類 4.基於 new 方法實現 推薦使用,方便 5.基於metaclass方式實現 單例模式 singleton pattern 是一種常用的軟體設計模式,該模式的主要目的是確保某乙個類只有乙個例項存在。當你希望在整個系統中,某個類只能出...

python單列模式

單例模式 singleton pattern 是一種常用的軟體設計模式,該模式的主要目的是確保某乙個類只有乙個例項存在。當你希望在整個系統中,某個類只能出現乙個例項時,單例物件就能派上用場。單例模式的要點有三個 一是某個類只能有乙個例項 二是它必須自行建立這個例項 三是它必須自行向整個系統提供這個例...

Python 裝飾器實現單列模式

使用裝飾器實現單列模式 defsingleton cls 用來存在例項的字典 singleton instance 判斷字典中是否例項 ifnot singleton instance.get cls.name 沒有則建立乙個例項,並存入字典中 singleton instance cls.name...