深入淺出設計模式原則之依賴倒置原則

2021-10-14 09:35:26 字數 944 閱讀 3582

下面以「顧客購物程式」為例來說明依賴倒置原則的應用(案例原始碼)。

class shop;

class shaoguanshop:public shop

};class wuyanshop:public shop

};//! 顧客

class customer {

public:

void shopping(shop *shop){

std::cout

分析:本程式反映了 「顧客類」與「商店類」的關係。商店類中有 sell() 方法,顧客類通過該方法購物以下**定義了顧客類通過韶關** shaoguanshop 購物:

class customer {
public:

void shopping(shaoguanshop *shop){

std::cout

class customer {
public:

void shopping(wuyanshop*shop){

std::cout

//! 顧客
class customer {

這個原則是開閉原則的基礎,具體內容:針對介面程式設計,依賴於抽象而不依賴於具體。

參考:

依賴倒置原則——物件導向設計原則

物件導向六大原則——依賴倒置原則

深入淺出設計模式 模板模式

設計模式是程式設計師必須掌握的技能,熟練應用各種設計模式,不僅可以提公升我們的編碼能力,也可以使得我們的編碼更美觀。在這裡我們來講解一下模板模式。模板模式 template pattern 中,乙個抽象類公開定義了執行它的方法的方式 模板。它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方式...

深入淺出設計模式 工廠模式

披薩店新推出了點單系統,披薩需要通過不同的製作,相同的烘焙,裁剪等工序才能完成。披薩的種類實在太多了,在構造披薩例項時,光是if else 語句就長的可怕,修改與維護更令人頭疼。披薩子類繼承實現相同的基類,通過基類呼叫不同的子類,使得 具有一定的彈性,將構造子類放入業務 導致了子類與業務 的耦合,令...

深入淺出設計模式 設計模式之路

2.2 根據模式的作用劃分 3.總結 博主經過6年的 洗禮,慢慢意識到 中使用設計模式的重要性。然而,在我遇到的程式設計師大軍中,我大概歸類了以下幾類人 因此,博主計畫做乙個設計模式的系列帖子,記錄學習筆記,力求深入淺出設計模式。目前有23種設計模式。設計模式有兩種分類方法,一種是根據模式的目的來劃...