Python 建立單例模式的三種方式

發表於2017-05-27

方法一:使用裝飾器

裝飾器維護一個字典物件instances,快取了所有單例類,只要單例不存在則建立,已經存在直接返回該例項物件。

方法二:使用基類

__new__是真正建立例項物件的方法,所以重寫基類的__new__方法,以此來保證建立物件的時候只生成一個例項

方法三:使用元類

元類(參考:深刻理解Python中的元類)是用於建立類物件的類,類物件建立例項物件時一定會呼叫__call__方法,因此在呼叫__call__時候保證始終只建立一個例項即可,type是python中的一個元類。

 

相關文章