設計模式 單例模式

2022-02-18 13:56:04 字數 1477 閱讀 6830

設計模式系列目錄

今天來簡單來說一下單例模式:它要確保乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。

比如我們登入乙個系統的時候要記錄乙個員工的資訊,在整個系統執行過程中可能要不段的訪問這個員工的資訊,

一般情況下我們會有兩種做法,第一種建乙個靜態類,第二種就是今天我要說的鍵乙個單例類

今天只說單例類,建單例類要有幾個要求

1.私有的構造方法

2.指向自己例項的私有靜態引用

3.以自己為例項為返回值的靜態方法

單例模式例項化物件有兩種方式

1.懶漢模式:呼叫取得例項方法的時候才去例項化物件

public class singleclassdemo

private static singleclassdemo initsingle()

}

2.餓漢模式:單例類被載入時候例項化物件

public class singleclassdemo

private static singleclassdemo initsingle()

}

做乙個小例子:儲存員工的名字和id

public class program

}public class singleclass

public static singleclass getsingleclass()

private static string id;

public static string id

}private static string name;

public static string name}}

c++**

#pragma once#include

class

singleclassdemo

;#include

"stdafx.h

"#include

"singleclassdemo.h

"#include

singleclassdemo * singleclassdemo::singleclass =nullptr;

singleclassdemo *singleclassdemo::initsingleclass()

return

singleclass;

}std::

string

singleclassdemo::getname()

return

m_name;

}singleclassdemo::singleclassdemo()

//main

singleclassdemo * s =singleclassdemo::initsingleclass();

std::cout

<< s->getname();

std::cin.

get();

view code

設計模式 單例模式

單例模式 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的序列生成等.但單例的使用需要謹慎,特別是在需要作負載均衡的地方,因為這種程式級的單例模式實際上只能保證在乙個應用中為單例.如果被多個應用載入,還是會...