設計模式 單例模式

2021-06-28 04:44:47 字數 1265 閱讀 2550

設計模式,嘿嘿,聽起來很高階,其實這個東西真正入門就會發現,他並不是什麼高深的**或者演算法。我覺得他就是乙個利用反射機制,繼承,多型,過載,泛型等基本的語言特性來實現高效能,簡介,易於擴充套件維護的**。是前輩們常年累月編寫總結出來的經驗,就像什麼時候種什麼蔬菜一樣。所以學習的時候,要有信心,其中奧妙會讓你恍然大悟。

我學習每一種設計模式的時候我都會問自己三個問題:a,該模式的原理。b**如何實現該模式。c,為什麼會總結出這種模式。後面就是按照這個思路走下去的。

a 什麼是單例模式

保證乙個類只有乙個例項,並提供乙個訪問他的全域性訪問點;

b 如何實現單例模式

場景:在乙個投票系統中,票數votecount應該只有乙個例項,所有參與投票的人只對這乙個例項進行修改。

類圖:**實現:

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace singleton

}///

///建立乙個票的類

///class

vote

return instance;

}

private

int votecount = 0;

public

votegetvote()

public

voiddovotecount()

public

stringgetvotecount()

}///

///建立乙個人來投票

///class

people

public

stringdovote()

else }

}}執行結果:

結果分析:

難度不大!

c. 為什麼要用單例模式

在我理解看來,不僅僅是計數,在許多地方你的都會用到單例模式。比如在我們的運維工具中每個config配置檔案都是例項化為乙個單例。採用的就是單例模式。單例模式保證了你的乙個程序裡面只會只有乙個例項。

設計模式 單例模式

單例模式 singleton pattern 是乙個比較簡單的模式,其定義如下 ensure a class has only one instance,and provide a golbal point of acess to it.確保某乙個類只有乙個例項,而且自行例項化並且向整個系統提供這個...

設計模式 單例模式

class testsingleton static public function instance return self testsingleton private function clone public function setsinvar sinvar public function ...

設計模式 單例模式

單例模式的目的是保證類在系統中只被例項化一次,由該唯一的例項來為系統提供服務.單例模式主要用於保證服務的統一,比如獲取統一的編號服務,模仿oracle的序列生成等.但單例的使用需要謹慎,特別是在需要作負載均衡的地方,因為這種程式級的單例模式實際上只能保證在乙個應用中為單例.如果被多個應用載入,還是會...