這篇文章將為大家詳細(xì)講解有關(guān)C++設(shè)計(jì)模式迪米特法則的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
定制網(wǎng)站建設(shè)可以根據(jù)自己的需求進(jìn)行定制,網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)構(gòu)思過程中功能建設(shè)理應(yīng)排到主要部位公司網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)的運(yùn)用實(shí)際效果公司網(wǎng)站制作網(wǎng)站建立與制做的實(shí)際意義
迪米特法則(Law of Demeter)又叫作最少知識(shí)原則(Least Knowledge Principle 簡(jiǎn)寫LKP),就是說一個(gè)對(duì)象應(yīng)當(dāng)對(duì)其他對(duì)象有盡可能少的了解,不和陌生人說話。英文簡(jiǎn)寫為: LoD.
類的設(shè)計(jì)接口盡量封裝完善,讓外部直接調(diào)用
#include<iostream> #include<string> #include<vector> using namespace std; class AbstractBuilding { public: virtual void sale() = 0; virtual string getQuality() = 0; }; class BuildingA :public AbstractBuilding { public: BuildingA() { mQulity = "高品質(zhì)"; } virtual void sale() { cout << "樓盤A" << mQulity << "被售賣!" << endl; } virtual string getQuality() { return mQulity; } public: string mQulity; }; class BuildingB :public AbstractBuilding { public: BuildingB() { mQulity = "低品質(zhì)"; } virtual void sale() { cout << "樓盤B" << mQulity << "被售賣!" << endl; } virtual string getQuality() { return mQulity; } public: string mQulity; }; // 中介類 class Mediator { public: Mediator() { AbstractBuilding* building = new BuildingA; vBuilding.push_back(building); building = new BuildingB; vBuilding.push_back(building); } // 對(duì)外提供接口 AbstractBuilding* findMyBuilding(string quality) { for (vector<AbstractBuilding*>::iterator it = vBuilding.begin(); it != vBuilding.end(); it++) { if ((*it)->getQuality() == quality) { return *it; } } return NULL; } ~Mediator() { for (vector<AbstractBuilding*>::iterator it = vBuilding.begin(); it != vBuilding.end(); it++) { if (*it != NULL) delete *it; } } public: vector<AbstractBuilding*> vBuilding; }; void test01() { Mediator* mediator = new Mediator; AbstractBuilding* building = mediator->findMyBuilding("低品質(zhì)"); if (building != NULL) { building->sale(); } else { cout << "沒有符號(hào)條件的樓盤" << endl; } } int main() { test01(); system("pause"); }
關(guān)于“C++設(shè)計(jì)模式迪米特法則的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
網(wǎng)頁(yè)標(biāo)題:C++設(shè)計(jì)模式迪米特法則的示例分析
標(biāo)題網(wǎng)址:http://muchs.cn/article4/ighgie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、手機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、Google、動(dòng)態(tài)網(wǎng)站、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)