久久久久久久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*卻不行,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
主站蜘蛛池模板: 二区中文字幕 | 老外几下就让我高潮了 | 国产成人精品久久二区二区91 | 美女一级a毛片免费观看97 | 亚洲在线一区 | 久久国产精品一区二区三区 | 亚洲小视频在线观看 | 久久精品| 国产亚洲一区二区精品 | 精品国产精品国产偷麻豆 | 久久福利电影 | 午夜影院在线观看 | 欧美精品一区二区三区在线播放 | 午夜一区 | 久久99国产精一区二区三区 | 中文字幕av网站 | 99精品在线观看 | 国产福利视频导航 | 国产精品日韩欧美 | 最新国产精品精品视频 | 久久成人免费视频 | 人人人人干| 一区二区三区欧美在线 | 国产精品欧美日韩 | 日韩欧美在线一区二区 | 97超碰人人草 | 国产精品s色 | 成人亚洲综合 | 午夜国产一级 | 欧美日本免费 | 亚洲成人一二三 | 中文字幕视频在线观看免费 | 久久综合久久自在自线精品自 | 男女免费在线观看视频 | 日本三级电影在线免费观看 | 精品久久久久久久 | 成人免费精品 | 97在线播放 | 久久久女女女女999久久 | 久久综合九色综合欧美狠狠 | 久久久综合久久 |