国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

(十四)Head first design patterns建造者模式(c++)

這篇具有很好參考價(jià)值的文章主要介紹了(十四)Head first design patterns建造者模式(c++)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

建造者模式

建造者把產(chǎn)品細(xì)節(jié)的實(shí)現(xiàn)過(guò)程單獨(dú)封裝成類,完成產(chǎn)品本身和創(chuàng)建產(chǎn)品之間的解耦。每一個(gè)建造者都相對(duì)獨(dú)立,因此在建造細(xì)節(jié)實(shí)現(xiàn)方面實(shí)現(xiàn)了靈活性和可擴(kuò)展性。

建造者模式和工廠模式的區(qū)別:工廠模式關(guān)心把這個(gè)產(chǎn)品創(chuàng)建出來(lái),而不關(guān)心其細(xì)節(jié);建造者模式不僅需要把產(chǎn)品生產(chǎn)出來(lái),還需要關(guān)心生產(chǎn)細(xì)節(jié)。

(十四)Head first design patterns建造者模式(c++),設(shè)計(jì)模式cpp,設(shè)計(jì)模式,建造者模式

建造者的核心在于將建造者獨(dú)立成不同的子類,以實(shí)現(xiàn)建造過(guò)程的靈活性和可擴(kuò)展性。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-820805.html

示例代碼

#include<iostream>
#include<string>
using namespace std;


class Meal{
public:
    void setBurger(string str){
        burger = str;
    }
    void setFries(string str){
        fries = str;
    }
    void setDrink(string str){
        drink = str;
    }
    void print(){
        std::cout << burger << std::endl;
        std::cout << fries << std::endl;
        std::cout << drink << std::endl;
    }
private:
    string burger;
    string fries;
    string drink;
};
class MealBuilder{
public:
    virtual void buildBurger(){}
    virtual void buildFries(){}
    virtual void buildDrink(){}
    virtual Meal* getMeal(){
        return meal;
    }

    Meal* meal = new Meal();
};
class ChickenMealBuilder : public MealBuilder{
public:
    void buildBurger(){
        meal->setBurger("雞肉漢堡");
    }
    void buildFries(){
        meal->setFries("中份薯?xiàng)l");
    }
    void buildDrink(){
        meal->setDrink("大杯果汁");
    }
};
class BeefBurgerMealBuilder : public MealBuilder{
public:
    void buildBurger(){
        meal->setBurger("牛肉漢堡");
    }
    void buildFries(){
        meal->setFries("大份薯?xiàng)l");
    }
    void buildDrink(){
        meal->setDrink("中杯可樂(lè)");
    }
};
class ShrimpMealBuilder : public MealBuilder{
public:
    void buildBurger(){
        meal->setBurger("蝦肉漢堡");
    }
    void buildFries(){
        meal->setFries("小份薯?xiàng)l");
    }
    void buildDrink(){
        meal->setDrink("大杯芬達(dá)");
    }
};
class MealDirector{
public:
    void setMealBuilder(MealBuilder* mealBuilder){
        this->mealBuilder = mealBuilder;
    }
    Meal* getMeal(){ return mealBuilder->getMeal(); }
    void constructMeal(){
        mealBuilder->buildBurger();
        mealBuilder->buildFries();
        mealBuilder->buildDrink();
    }
private:
    MealBuilder* mealBuilder;
};
int main(){
    MealDirector* director = new MealDirector();
    director->setMealBuilder(new BeefBurgerMealBuilder());
    director->constructMeal();
    Meal* meal = director->getMeal();
    meal->print();
}

到了這里,關(guān)于(十四)Head first design patterns建造者模式(c++)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【設(shè)計(jì)模式】Head First 設(shè)計(jì)模式——策略模式 C++實(shí)現(xiàn)

    設(shè)計(jì)模式最大的作用就是在變化和穩(wěn)定中間尋找隔離點(diǎn),然后分離它們,從而管理變化。將變化像小兔子一樣關(guān)到籠子里,讓它在籠子里隨便跳,而不至于跳出來(lái)把你整個(gè)房間給污染掉。 將行為想象為一族算法,定義算法族,分別封裝起來(lái),讓他們之間可以互相替換,使得算

    2024年02月11日
    瀏覽(26)
  • 【設(shè)計(jì)模式】Head First 設(shè)計(jì)模式——工廠方法模式 C++實(shí)現(xiàn)

    設(shè)計(jì)模式最大的作用就是在變化和穩(wěn)定中間尋找隔離點(diǎn),然后分離它們,從而管理變化。將變化像小兔子一樣關(guān)到籠子里,讓它在籠子里隨便跳,而不至于跳出來(lái)把你整個(gè)房間給污染掉。 定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定實(shí)例化哪一個(gè)類。Factory Method 使得一個(gè)類的實(shí)

    2024年02月10日
    瀏覽(29)
  • 【設(shè)計(jì)模式】Head First 設(shè)計(jì)模式——構(gòu)建器模式 C++實(shí)現(xiàn)

    【設(shè)計(jì)模式】Head First 設(shè)計(jì)模式——構(gòu)建器模式 C++實(shí)現(xiàn)

    設(shè)計(jì)模式最大的作用就是在變化和穩(wěn)定中間尋找隔離點(diǎn),然后分離它們,從而管理變化。將變化像小兔子一樣關(guān)到籠子里,讓它在籠子里隨便跳,而不至于跳出來(lái)把你整個(gè)房間給污染掉。 ? 將一個(gè)復(fù)雜對(duì)象的構(gòu)建與其表示相分離,使得同樣的構(gòu)建過(guò)程(穩(wěn)定)可以創(chuàng)建不同

    2024年02月09日
    瀏覽(23)
  • 【設(shè)計(jì)模式】Head First 設(shè)計(jì)模式——裝飾者模式 C++實(shí)現(xiàn)

    設(shè)計(jì)模式最大的作用就是在變化和穩(wěn)定中間尋找隔離點(diǎn),然后分離它們,從而管理變化。將變化像小兔子一樣關(guān)到籠子里,讓它在籠子里隨便跳,而不至于跳出來(lái)把你整個(gè)房間給污染掉。 動(dòng)態(tài)地將責(zé)任附加到對(duì)象上,若要擴(kuò)展功能,裝飾者提供了比繼承更有彈性的替代方案。

    2024年02月10日
    瀏覽(24)
  • 【設(shè)計(jì)模式】Head First 設(shè)計(jì)模式——抽象工廠模式 C++實(shí)現(xiàn)

    設(shè)計(jì)模式最大的作用就是在變化和穩(wěn)定中間尋找隔離點(diǎn),然后分離它們,從而管理變化。將變化像小兔子一樣關(guān)到籠子里,讓它在籠子里隨便跳,而不至于跳出來(lái)把你整個(gè)房間給污染掉。 提供一個(gè)接口,讓該接口負(fù)責(zé)創(chuàng)建一系列“相關(guān)或者相互依賴的對(duì)象”,無(wú)需指定他們具

    2024年02月10日
    瀏覽(21)
  • 【設(shè)計(jì)模式】Head First 設(shè)計(jì)模式——觀察者模式 C++實(shí)現(xiàn)

    設(shè)計(jì)模式最大的作用就是在變化和穩(wěn)定中間尋找隔離點(diǎn),然后分離它們,從而管理變化。將變化像小兔子一樣關(guān)到籠子里,讓它在籠子里隨便跳,而不至于跳出來(lái)把你整個(gè)房間給污染掉。 主題對(duì)象(出版者)管理某些數(shù)據(jù),當(dāng)主題內(nèi)的數(shù)據(jù)改變,就會(huì)通知觀察者(訂閱者)。

    2024年02月10日
    瀏覽(27)
  • 【Head First 設(shè)計(jì)模式】-- 觀察者模式

    【Head First 設(shè)計(jì)模式】-- 觀察者模式

    客戶有一個(gè)WeatherData對(duì)象,負(fù)責(zé)追蹤溫度、濕度和氣壓等數(shù)據(jù)?,F(xiàn)在客戶給我們提了個(gè)需求,讓我們利用WeatherData對(duì)象取得數(shù)據(jù),并更新三個(gè)布告板:目前狀況、氣象統(tǒng)計(jì)和天氣預(yù)報(bào)。 WeatherData對(duì)象提供了4個(gè)接口: getTemperature():獲取溫度 getHumidity():獲取濕度 getPressure():獲

    2024年02月05日
    瀏覽(16)
  • 設(shè)計(jì)模式——建造者模式(Builder Pattern)

    設(shè)計(jì)模式——建造者模式(Builder Pattern)

    概述 ?????? 建造者模式是較為復(fù)雜的創(chuàng)建型模式,它將客戶端與包含多個(gè)組成部分(或部件)的復(fù)雜對(duì)象的創(chuàng)建過(guò)程分離,客戶端無(wú)須知道復(fù)雜對(duì)象的內(nèi)部組成部分與裝配方式,只需要知道所需建造者的類型即可。它關(guān)注如何一步一步創(chuàng)建一個(gè)的復(fù)雜對(duì)象,不同的具體建

    2024年01月20日
    瀏覽(22)
  • 設(shè)計(jì)模式--建造者模式(Builder Pattern)

    設(shè)計(jì)模式--建造者模式(Builder Pattern)

    建造者模式(Builder Pattern)是一種創(chuàng)建型設(shè)計(jì)模式,它關(guān)注如何按照一定的步驟和規(guī)則創(chuàng)建復(fù)雜對(duì)象。建造者模式的主要目的是將一個(gè)復(fù)雜對(duì)象的構(gòu)建過(guò)程與其表示分離,從而使同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示。 在建造者模式中,通常有以下幾個(gè)核心角色: 產(chǎn)品(Prod

    2024年02月11日
    瀏覽(18)
  • 設(shè)計(jì)模式|建造者模式(Builder Pattern)

    建造者模式(Builder Pattern)是一種創(chuàng)建型設(shè)計(jì)模式,用于將一個(gè)復(fù)雜對(duì)象的構(gòu)建過(guò)程與其表示分離,以便可以使用相同的構(gòu)建過(guò)程創(chuàng)建不同的表示。 Builder(建造者)接口或抽象類 : 定義了構(gòu)建對(duì)象的各個(gè)步驟的方法。 ConcreteBuilder(具體建造者)類 : 實(shí)現(xiàn)了 Builder 接口或繼

    2024年04月15日
    瀏覽(40)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包