首頁 >後端開發 >Python教學 >單例模式python有什麼用

單例模式python有什麼用

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼原創
2019-06-26 10:24:473555瀏覽

單例模式(Singleton)也稱為單態模式,是設計模式中最為簡單的一種模式,甚至有些模式大師都不稱其為模式,稱其為一種實現技巧,因為設計模式講究對象之間的關係的抽象,而單例模式只有自己一個對象,也因此有些設計大師稱之為設計模式之一。

單例模式python有什麼用

邏輯模型圖:

單例模式python有什麼用

#物理模型圖:

單例模式python有什麼用

#好多沒怎麼使用過的人可能會想,單例模式感覺不怎麼用到,實際的應用場景有哪些呢?以下,我將列出一些就在咱們週邊和很有意義的單例應用場景。

相關推薦:《Python影片教學

1. Windows的Task Manager(工作管理員)就是很典型的單例模式,想想看,是不是呢,你能打開兩個windows task manager嗎? 

2. windows的Recycle Bin(回收站)也是典型的單例應用。在整個系統運作過程中,回收站一直維護著僅有的一個實例。

3. 網站的計數器,一般也是採用單例模式實現,否則難以同步。

4. 應用程式的日誌應用,一般都何用單例模式實現,這一般是由於共享的日誌檔案一直處於開啟狀態,因為只能有一個實例去操作,否則內容不好追加。

5. Web應用的設定物件的讀取,一般也應用單例模式,這個是由於設定檔是共享的資源。

6. 資料庫連接池的設計一般也是採用單一範例模式,因為資料庫連線是一種資料庫資源。資料庫軟體系統中使用資料庫連接池,主要是節省開啟或關閉資料庫連線所造成的效率損耗,而這種效率上的損耗還是非常昂貴的,因為何用單例模式來維護,就可以大幅降低這種損耗。

7. 多執行緒的執行緒池的設計一般也是採用單例模式,這是由於執行緒池要方便對池中的執行緒進行控制。

8. 作業系統的檔案系統,也是大的單例模式實現的具體例子,一個作業系統只能有一個檔案系統。

9. HttpApplication 也是單位例的典型應用。熟悉ASP.Net(IIS)的整個請求生命週期的人應該知道HttpApplication也是單例模式,所有的HttpModule都共享一個HttpApplication實例. 

總結以上,不難看出:

#單例模式應用的場景一般發現在以下條件:

(1)資源共享的情況下,避免因資源操作時導致的效能或損耗等。如上述中的日誌文件,應用配置。

(2)控制資源的情況下,方便資源之間的互相溝通。如線程池等。

以上是單例模式python有什麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn