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

當(dāng)前位置: 首頁(yè) > news >正文

哪里做網(wǎng)站做得好網(wǎng)站怎么做優(yōu)化排名

哪里做網(wǎng)站做得好,網(wǎng)站怎么做優(yōu)化排名,慶陽(yáng)網(wǎng)站設(shè)計(jì)與建設(shè),中國(guó)logo設(shè)計(jì)制作網(wǎng)模式定義 定義一個(gè)操作中的算法的骨架 (穩(wěn)定),而將一些步驟延遲(變化)到子類(lèi)中。Template Method使得子類(lèi)可以不改變(復(fù)用)一個(gè)算法的結(jié)構(gòu)即可重定義(override 重寫(xiě))該算法的某些特定步驟。 …

模式定義

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

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

示例
整個(gè)代碼框架:

代碼說(shuō)明


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

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

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

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

派生類(lèi)myGreet 繼承 greet類(lèi),并且重寫(xiě)方法method2

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

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

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

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

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

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

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

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

http://aloenet.com.cn/news/46919.html

相關(guān)文章:

  • 公司制作網(wǎng)站價(jià)格長(zhǎng)春最新發(fā)布信息
  • 定制型網(wǎng)站制作明細(xì)報(bào)價(jià)表百度應(yīng)用中心
  • 東坑網(wǎng)頁(yè)設(shè)計(jì)seo技巧
  • 做外貿(mào)要自己建網(wǎng)站嗎網(wǎng)頁(yè)免費(fèi)制作網(wǎng)站
  • 桂林賣(mài)手機(jī)網(wǎng)站seo網(wǎng)站優(yōu)化快速排名軟件
  • 市場(chǎng)營(yíng)銷(xiāo)的八個(gè)理論seo系統(tǒng)培訓(xùn)課程
  • 做外貿(mào)對(duì)學(xué)歷要求高嗎seo經(jīng)典案例分析
  • 南京本地網(wǎng)站建設(shè)視頻專(zhuān)用客戶(hù)端app
  • wordpress 圖片鏈接下載成都seo整站
  • 國(guó)內(nèi)外做gif的網(wǎng)站網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣的方式
  • 湘潭學(xué)校網(wǎng)站建設(shè) 磐石網(wǎng)絡(luò)專(zhuān)注整合營(yíng)銷(xiāo)傳播成功案例
  • 徐州方案公示在哪個(gè)網(wǎng)站西地那非片吃了多久會(huì)硬起來(lái)
  • 松江做營(yíng)銷(xiāo)網(wǎng)站開(kāi)封網(wǎng)絡(luò)推廣哪家好
  • 中文域名注冊(cè)報(bào)價(jià)表網(wǎng)站優(yōu)化怎么操作
  • 網(wǎng)站建設(shè)優(yōu)化推廣教程今日新聞大事件
  • 海外產(chǎn)品網(wǎng)站建設(shè)上海網(wǎng)絡(luò)推廣聯(lián)盟
  • 做外貿(mào)網(wǎng)站要多少錢(qián)國(guó)外免費(fèi)網(wǎng)站服務(wù)器
  • 官方網(wǎng)站內(nèi)容更新需要怎么做建站之星
  • 人民南路建設(shè)廳網(wǎng)站咨詢(xún)電話營(yíng)銷(xiāo)網(wǎng)站的宣傳、推廣與運(yùn)作
  • 淘寶客為什么做網(wǎng)站東莞疫情最新情況
  • 哪個(gè)網(wǎng)站做視頻有錢(qián)掙長(zhǎng)春網(wǎng)站提升排名
  • 中國(guó)國(guó)際貿(mào)易網(wǎng)站公眾號(hào)如何推廣運(yùn)營(yíng)
  • 網(wǎng)站開(kāi)發(fā)概述網(wǎng)站的優(yōu)化策略方案
  • 旅游電子商務(wù)網(wǎng)站設(shè)計(jì)我的百度購(gòu)物訂單
  • 蘇州公司建設(shè)網(wǎng)站制作網(wǎng)站seo優(yōu)化方案設(shè)計(jì)
  • PHP套模板做網(wǎng)站他達(dá)拉非什么是
  • wordpress怎么做站內(nèi)站搜索引擎名詞解釋
  • 溫州閥門(mén)外貿(mào)網(wǎng)站建設(shè)百度站長(zhǎng)平臺(tái)app
  • dz論壇可以做招聘網(wǎng)站百度文章收錄查詢(xún)
  • 上海市工程建設(shè)信息網(wǎng)官方網(wǎng)站廣東seo價(jià)格是多少錢(qián)