国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

哪里做網(wǎng)站做得好windows優(yōu)化大師有用嗎

哪里做網(wǎng)站做得好,windows優(yōu)化大師有用嗎,網(wǎng)站可以跟博客做互鏈嗎,做公司網(wǎng)站有什么需要注意的模式定義 定義一個操作中的算法的骨架 (穩(wěn)定),而將一些步驟延遲(變化)到子類中。Template Method使得子類可以不改變(復用)一個算法的結(jié)構(gòu)即可重定義(override 重寫)該算法的某些特定步驟。 …

模式定義

定義一個操作中的算法的骨架 (穩(wěn)定),而將一些步驟延遲(變化)到子類中。Template Method使得子類可以不改變(復用)一個算法的結(jié)構(gòu)即可重定義(override 重寫)該算法的某些特定步驟。
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?——《設計模式》GoF

理解:模板方法就是將固定算法流程實現(xiàn)放在父類中實現(xiàn),將固定流程中的可能變化的步驟定義為虛方法,子類可重寫(實現(xiàn)晚綁定)。對于不變的步驟,和算法的實現(xiàn)流程,子類不必關(guān)心。子類也不需要關(guān)心整個算法實現(xiàn)流程。實現(xiàn)子類的穩(wěn)定。

示例
整個代碼框架:

代碼說明


1:在父類greet中定義了方法method1();method2(); method3(); 其中 method1();method3()為greet類的非虛函數(shù)。在greet類中實現(xiàn)。method2()為純虛函數(shù),需要在子類中實現(xiàn)。

 class greet{
public:greet() {}virtual ~greet(){}public:virtual void method2() = 0;private:void method1();void method3();
protect:void greetProcess();
};

整個算法調(diào)用的接口在父類中定義和實現(xiàn)

 void greet::greetProcess(){method1();method2();method3();
}

派生類myGreet 繼承 greet類,并且重寫方法method2

class myGreet : public greet{
public:myGreet() {}~myGreet(){}private:void method2();
};
#endif

?在源文件myMain.cpp 中定義基類指針指向派生類,并且調(diào)用基類中的算法流程接口

int main(){greet *baseGreet = new myGreet;baseGreet->greetProcess();delete baseGreet;return 0;
}

代碼編譯:在buildSh目錄下面運行myBuild.sh
運行:buildSh目錄下面執(zhí)行myStart.sh
清理編譯文件:buildSh目錄下面執(zhí)行myClean.sh
源碼下載地址:設計模式之模板方法測試代碼

一個經(jīng)典的 C++ 源碼示例涉及使用模板方法設計模式的場景是 GUI 框架的開發(fā)。在這樣的框架中,通常會有一個基類定義了一些通用的行為和算法,而具體的子類可以根據(jù)需要來實現(xiàn)特定的功能或定制化。

#include <iostream>// GUI 元素基類
class UIElement {
public:// 模板方法:渲染void render() {// 繪制背景drawBackground();// 繪制內(nèi)容drawContent();// 繪制邊框drawBorder();}protected:// 子類必須實現(xiàn)的抽象方法:繪制內(nèi)容virtual void drawContent() = 0;// 可選的鉤子方法:繪制背景,默認實現(xiàn)為空virtual void drawBackground() {}// 可選的鉤子方法:繪制邊框,默認實現(xiàn)為空virtual void drawBorder() {}
};// 具體的按鈕類
class Button : public UIElement {
protected:// 實現(xiàn)繪制內(nèi)容的具體算法void drawContent() override {std::cout << "Button: Drawing content." << std::endl;}// 實現(xiàn)繪制背景的具體算法void drawBackground() override {std::cout << "Button: Drawing background." << std::endl;}// 實現(xiàn)繪制邊框的具體算法void drawBorder() override {std::cout << "Button: Drawing border." << std::endl;}
};// 具體的文本框類
class TextBox : public UIElement {
protected:// 實現(xiàn)繪制內(nèi)容的具體算法void drawContent() override {std::cout << "TextBox: Drawing content." << std::endl;}// 實現(xiàn)繪制背景的具體算法void drawBackground() override {std::cout << "TextBox: Drawing background." << std::endl;}
};int main() {// 創(chuàng)建一個按鈕并渲染Button button;std::cout << "Rendering button:" << std::endl;button.render();std::cout << std::endl;// 創(chuàng)建一個文本框并渲染TextBox textBox;std::cout << "Rendering text box:" << std::endl;textBox.render();return 0;
}

在這個示例中,UIElement 類定義了一個模板方法 render(),它包含了一個固定的渲染算法框架。具體的子類(如 ButtonTextBox)通過實現(xiàn)抽象方法 drawContent() 來定制化自己的渲染內(nèi)容,而可選的鉤子方法 drawBackground()drawBorder() 則允許子類根據(jù)需要選擇性地覆蓋默認行為。

通過使用模板方法設計模式,GUI 框架可以提供一個通用的渲染算法框架,并允許具體的子類在不同的情況下定制化自己的行為,從而實現(xiàn)了代碼的靈活性和可擴展性。

http://m.aloenet.com.cn/news/33527.html

相關(guān)文章:

  • app模板制作軟件徐州網(wǎng)站建設方案優(yōu)化
  • airbnb網(wǎng)站建設分析網(wǎng)上哪里接app推廣單
  • 臨漳企業(yè)做網(wǎng)站推廣河北seo人員
  • 什么樣的網(wǎng)站必須做備案貼吧高級搜索
  • 用什么網(wǎng)站做動感相冊競價推廣托管
  • 個人網(wǎng)站可以做企業(yè)網(wǎng)站嗎如何在百度上發(fā)自己的廣告?
  • 用flash做網(wǎng)站系統(tǒng)優(yōu)化的例子
  • 網(wǎng)站開發(fā) 定制 合同優(yōu)化大師使用方法
  • 如何用爬蟲做網(wǎng)站監(jiān)控百度指數(shù)怎么查
  • 做dm素材網(wǎng)站重慶網(wǎng)站快速排名提升
  • 購物網(wǎng)站開發(fā)實例百度關(guān)鍵詞搜索量
  • 網(wǎng)站空間流量不夠深圳短視頻seo教程
  • 自己的網(wǎng)站怎么做關(guān)鍵詞優(yōu)化品牌推廣策劃方案案例
  • pathon能做網(wǎng)站開發(fā)嗎如何去推廣
  • 做網(wǎng)站能成功嗎產(chǎn)品策劃方案怎么做
  • 網(wǎng)站開發(fā)方倍工作室中山seo推廣優(yōu)化
  • 門戶網(wǎng)站 建設最近的新聞有哪些
  • 廣州做網(wǎng)站的網(wǎng)絡公司新聞株洲最新
  • 門戶網(wǎng)站建設情況西地那非片的功能主治
  • 機械加工怎么找客戶seo快速排名是什么
  • 做電影網(wǎng)站還能賺錢seo在線優(yōu)化技術(shù)
  • 湖南高端網(wǎng)站制百度地圖關(guān)鍵詞優(yōu)化
  • 易企秀怎么做招聘網(wǎng)站超鏈接全國疫情的最新數(shù)據(jù)
  • 常州做網(wǎng)站公司哪家好廣東做seo的公司
  • 西寧微網(wǎng)站建設拉新充場app推廣平臺
  • 論述政府門戶網(wǎng)站建設的基本意義百度優(yōu)化大師
  • phpcms手機網(wǎng)站長沙百度推廣運營公司
  • 做網(wǎng)站為什么要買網(wǎng)站空間百度的seo排名怎么刷
  • 網(wǎng)站設計策劃書 模板營銷號
  • 做直播網(wǎng)站軟件有哪些軟件下載海外域名