久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

淺談C++ 設計模式的基本原則

這篇文章主要介紹了++ 設計模式的基本原則,主要的目標是實現最終目的,高內聚,低耦合,開放封閉原則類的改動是通過增加代碼進行的,感興趣的小伙伴可參考下面文章的具體內容

先上銀行類案例代碼如下:


#include<iostream> 
using namespace std; 
class BankWorker 
{ 
public: 
    void save() 
    { 
        cout << "存款" << endl; 
    } 
    void moveM() 
    { 
        cout << "取款" << endl; 
 
    } 
    void jiaofei() 
    { 
        cout << "繳費" << endl; 
    } 
 
}; 
class AbBankWorker 
{ 
public: 
    virtual void dothing() = 0; 
}; 
 
class SaveBanker :public AbBankWorker 
{ 
public: 
    virtual  void dothing() 
    { 
        cout << "存款" << endl; 
    } 
}; 
class MoveBanker :public AbBankWorker 
{ 
public: 
    virtual  void dothing() 
    { 
        cout << "取款" << endl; 
    } 
}; 
class SaveBanker :public AbBankWorker 
{ 
public: 
    virtual  void dothing() 
    { 
        cout << "繳費款" << endl; 
    } 
}; 
void main11() 
{ 
    BankWorker*bw = new BankWorker; 
    bw->jiaofei(); 
    bw->moveM(); 
    bw->save(); 
    cout << "hello..." << endl; 
    system("pause"); 
    return; 
     
} 
void main22() 
{ 
    AbBankWorker*bw = NULL; 
        bw=new MoveBanker; 
        bw->dothing(); 
        delete bw; 
    return; 
 
} 
void main() 
{ 
 
    main22(); 
     
    system("pause"); 
    return; 
} 

單一職責原則類的職責要單一,對外只提供一種功能,而引起內變化的原因都應該只有一個,就是依賴倒置原則依賴于抽象接口,不要依賴具體的實現類,也就是針對接口編程


#include<iostream> 
using namespace std; 
class HardDisk 
{public: 
    virtual void work(); 
}; 
 
class Memory 
{ 
public: 
    virtual void work(); 
}; 
class Cpu 
{ 
public: 
    virtual void work(); 
}; 
class ComPuter 
{ 
public: 
    ComPuter(HardDisk*m_handdisk, Memory*m_memory, Cpu*m_cpu) 
    { 
        m_handdisk = handdisk; 
        m_memory = memory; 
        m_cpu = cpu; 
    } 
public: 
    void work() 
    { 
        m_handdisk->work(); 
        m_memory->work(); 
        m_cpu->work(); 
    } 
private: 
    HardDisk*m_handdisk; 
        Memory*m_memory; 
        Cpu*m_cpu; 
}; 
 
class InterCpu :public Cpu 
{ 
public: 
    void work() 
    { 
        cout << "我是因特爾廠家" << endl; 
    } 
}; 
class XSDisk :public HardDisk 
{ 
public: 
    void work() 
    { 
        cout << "我是西數硬盤廠家" << endl; 
    } 
}; 
class JSDMem :public Memory 
{ 
public: 
    void work() 
    { 
        cout << "我是JSDMem廠家" << endl; 
    } 
}; 
void main() 
{ 
    HardDisk*handdisk=NULL; 
    Memory*memory=NULL; 
    Cpu*cpu=NULL; 
    handdisk = new XSDisk; 
    memory= new JSDMem; 
    cpu = new InterCpu; 
    ComPuter*mycomputer = new ComPuter(harddisk, memory, cpu); 
    mycomputer->work(); 
    delete mycomputer; 
    delete cpu; 
    delete  memory; 
    delete  harddisk; 
    cout << "hello" << endl; 
    system("pause"); 
    return; 
} 

接口隔離原則不應該強迫客戶的程序依賴他們不需要的接口方法,一個接口應該是提供一種對外功能,不應該把所有的操作都封裝到一個接口中去

里氏替換原則任何抽象類出現的地方都可以用它的實現類進行替換,實際就是虛擬機智語言級別,實現面向對象功能

優先使用組合而不是繼承原則如果使用繼承,會導致復位的任何變化,都可能影響此類的行為,如果使用對象組合,就降低了這種依賴關系

迪米特法則一個對象應當對其他對象盡可能少的了解,從而降低各個對象之間的耦合,提高系統的可維護性。例如,在一個程序中,各個模塊之間相互調用時,通常會提供一個統一的接口來實現,這樣其他模塊不需要了解另外一個模塊的內部實現細節,這樣當一個模塊內部的實現發生改變的時候,不會影響其他模塊的使用黑盒原理。

到此這篇關于淺談C++ 設計模式的基本原則的文章就介紹到這了,更多相關C++ 設計模式的基本原則內容請搜索html5模板網以前的文章希望大家以后多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

這篇文章主要介紹了C++基于OpenCV手勢識別的實現源碼,這里用到背景減法模型知識,具體實例代碼跟隨小編一起看看吧
下面小編就為大家帶來一篇深入理解c++指針的指針和指針的引用。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考,一起跟隨小編過來看看吧
C++ 提供了異常機制,讓我們能夠捕獲運行時錯誤,本文就詳細的介紹了C++異常處理入門,具有一定的參考價值,感興趣的小伙伴們可以參考一下
這篇文章主要給大家介紹了關于C/C++中的內存模型和名稱空間詳解,文中通過示例代碼介紹的非常詳細,對大家學習或者使用c/c++具有一定的參考學習價值,需要的朋友們下面隨著小編來
推箱子想必是很多人童年時期的經典游戲,我們依舊能記得抱個老人機娛樂的場景,下面這篇文章主要給大家介紹了關于如何利用c++寫一個簡單的推箱子小游戲的相關資料,需要的朋友可以
本文主要介紹了C++中char[]能修改char*卻不行,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
主站蜘蛛池模板: 国产美女一区二区 | 国产黄a一级 | 99精品欧美一区二区三区 | 国产视频中文字幕 | 国产美女自拍视频 | 国产精品久久久久久一区二区三区 | 视频一区二区在线观看 | 高清国产一区二区 | 欧美激情国产日韩精品一区18 | 久久一区二区三区电影 | 欧美成人免费 | 日本高清aⅴ毛片免费 | 免费在线看a | 国产精品爱久久久久久久 | 国产精品久久久久久久久久免费看 | 三级黄片毛片 | 美女天天操 | 午夜在线观看免费 | 国产精品乱码一区二区三区 | 99精品国产一区二区青青牛奶 | 国产探花在线观看视频 | 免费观看av| 久久精品99 | 桃花av在线 | 久草电影网 | 国产乱码精品一区二区三区忘忧草 | 亚洲精品乱码久久久久久按摩 | 成人精品国产 | 成人免费一区二区 | 成人天堂 | 中文字幕一区二区三区乱码在线 | 国产精品区二区三区日本 | 国产成人精品一区二区三区网站观看 | 久久久久久国产精品 | 亚洲激情av | 91高清视频在线观看 | 久草.com| 亚洲精品视频免费观看 | 亚洲激情第一页 | 西西裸体做爰视频 | 国内久久精品 |