久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

創(chuàng)建型-設(shè)計模式

 ylsnData 2018-06-23

設(shè)計模式資料:http:///tags/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/


23種設(shè)計模式講解:http://edu./course/426/lesson/list
?一:單例模式

1,單例模式的應(yīng)用場景

(1),網(wǎng)站的計數(shù)器:記錄訪問量的次數(shù)

(2),web應(yīng)用的配置管理器:管理多個應(yīng)用的配置信息

(3),應(yīng)用程序的日志管理系統(tǒng):便于信息的維護(hù)和查閱

(4)數(shù)據(jù)庫應(yīng)用的連接池

(5),多線程應(yīng)用的線程池
(6),資源型應(yīng)用的內(nèi)存池

(7),操作系統(tǒng)的文件系統(tǒng)和打印假脫機(jī)

2,,單例模式的實現(xiàn)

(1),借助于類型禁止在外部創(chuàng)建對象

私有構(gòu)造函數(shù):private

(2),僅在類型內(nèi)部創(chuàng)建唯一對象實例

類自己維護(hù)一個唯一的實例

靜態(tài)成員變量:instance

(3),提供用于獲取對象實例的公知接口

提供訪問該實例的方法

靜態(tài)成員函數(shù)(靜態(tài)函數(shù)類似全局,,屬于類,而不屬于對象)

getInstance();

(4),單例的實現(xiàn)模式

餓漢式實現(xiàn)

--優(yōu)點:加載進(jìn)程時,靜態(tài)創(chuàng)建單例對象,線程安全

--缺點:無論使用與否,總要創(chuàng)建對象

總結(jié):空間換時間,小對象,使用頻繁時使用

實現(xiàn)方式:
?1,,將構(gòu)造函數(shù)私有化;
?2,,將實例設(shè)置為靜態(tài)變量;
?3,編寫得到實例的外部接口函數(shù),。

?實例代碼C++代碼:
?//頭文件

/Singleton.h
#ifndef _SINGLETON_H_
#define _SINGLETON_H_
#include <iostream>
using namespace std;
class Singleton
{
public:
static Singleton* Instance();
protected:
Singleton();
private:
static Singleton* _instance;
};
#endif //~_SINGLETON_H_


//源文件
?
?Singleton* Singleton::_instance = 0;
Singleton::Singleton()
{
cout<<"Singleton...."<<endl;
}
Singleton* Singleton::Instance()
{
if (_instance == 0)
{
_instance = new Singleton();
}
return _instance;
}


?//main文件
?
?//main.cpp
#include "Singleton.h"
#include <iostream>
using namespace std;
int main(int argc,char* argv[])
{
Singleton* sgn = Singleton::Instance();
return 0;
}
?二:生成器模式(Builder,,建造者模式)
?      目的:將一個復(fù)雜對象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示,。
?UML圖:
?

 
 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多