中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

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

哪些網(wǎng)站是用wordpressseo網(wǎng)站優(yōu)化詳解

哪些網(wǎng)站是用wordpress,seo網(wǎng)站優(yōu)化詳解,彩票網(wǎng)站做代理,wordpress 蜘蛛爬行插件這三種模式, 都是創(chuàng)建類型的模式, 將對象的創(chuàng)建流程封裝起來供客戶調(diào)用 簡單工廠模式 簡介: 和策略模式一樣,就是針對不通的參數(shù), 返回不通的實(shí)例而已 問題: 沒有遵循開閉原則, 如果我們想增加一種類, 那…

這三種模式, 都是創(chuàng)建類型的模式, 將對象的創(chuàng)建流程封裝起來供客戶調(diào)用

簡單工廠模式

簡介: 和策略模式一樣,就是針對不通的參數(shù), 返回不通的實(shí)例而已
問題: 沒有遵循開閉原則, 如果我們想增加一種類, 那么就要修改工廠的核心代碼,這違反了對修改關(guān)閉的原則, 于是有了 工廠方法模式

策略模式簡單工廠模式的代碼用例

class Operator
{
public:int first, second;Operator() {};Operator(int a, int b) : first(a), second(b) {};virtual int get_result() = 0;
};class AddOperator : public Operator
{
public:AddOperator() {};AddOperator(int a, int b) : Operator(a, b) {};int get_result() override{return first + second;}
};class MulOperator : public Operator
{
public:MulOperator() {};MulOperator(int a, int b) : Operator(a, b) {};int get_result() override{return first * second;}
};// strategy
int get_result(char _type, int a, int b)
{Operator* o{};if (_type == '+')o = new AddOperator(a, b);if (_type == '*')o = new MulOperator(a, b);return o->get_result();
}// simple factory
class OperatorFactory
{
public:Operator* get_operator(char c){Operator* o{};if (c == '+')o = new AddOperator();if (c == '*')o = new MulOperator();return o;}
};int main()
{//策略模式int a = get_result('+', 1, 2);cout << a << endl;int b = get_result('*', 8, 9);cout << b << endl;// 簡單工廠模式OperatorFactory* op_factory = new OperatorFactory();Operator* o = op_factory->get_operator('+');o->first = 1;o->second = 2;cout << o->get_result() << endl;
}

工廠方法模式

簡介: 在簡單工廠的基礎(chǔ)上,遵循開閉原則, 每個(gè)工廠都只產(chǎn)出自己的類, 那么再有新的類要加入的時(shí)候, 我們只需要添加一個(gè)工廠子類 和 目標(biāo)子類就行了
問題: 工廠只能產(chǎn)出一種目標(biāo)類的實(shí)例, 這樣的話, 系統(tǒng)中類一多, 工廠就會(huì)太多.
`代碼``

class Operator
{
public:int first, second;Operator() {};Operator(int a, int b) : first(a), second(b) {};virtual int get_result() = 0;
};class AddOperator : public Operator
{
public:AddOperator() {};AddOperator(int a, int b) : Operator(a, b) {};int get_result() override{return first + second;}
};class MulOperator : public Operator
{
public:MulOperator() {};MulOperator(int a, int b) : Operator(a, b) {};int get_result() override{return first * second;}
};class Factory
{
public:virtual Operator* get_operator(int a, int b) = 0;
};class AddFactory : public Factory
{
public:Operator* get_operator(int a, int b) override{Operator* op = new AddOperator(a, b);return op;}
};class MulFactory : public Factory
{
public:Operator* get_operator(int a, int b) override{Operator* op = new MulOperator(a, b);return op;}
};int main()
{// 工廠方法模式AddFactory* add_f = new AddFactory();Operator* op = add_f->get_operator(1, 2);cout << op->get_result() << endl;
}

抽象工廠模式

簡介: 一個(gè)工廠產(chǎn)出一系列互相關(guān)聯(lián)的類的實(shí)例, 實(shí)現(xiàn)產(chǎn)品簇的效果
代碼

class SoftWare
{
public:SoftWare() {};
};class AndroidSoftWare : public SoftWare
{
public:AndroidSoftWare() {};
};class IosSoftWare : public SoftWare
{
public:IosSoftWare() {};
};class Phone
{
public:SoftWare* ware;virtual void set_soft_ware(SoftWare* ware) = 0;
};class XiaoMiPhone : public Phone
{
public:void set_soft_ware(SoftWare* w) override{cout << "xiao mi phone set android soft ware" << endl;ware = w;}
};class IosPhone : public Phone
{
public:void set_soft_ware(SoftWare* w) override{cout << "ios phone set ios soft ware" << endl;ware = w;}
};// 這種情況下, 用抽象工廠模式, 就不會(huì)出錯(cuò), 不會(huì)出現(xiàn)iosphone配上了android soft ware的情況
// 不然在實(shí)際項(xiàng)目中, 配錯(cuò)很可能會(huì)出現(xiàn)嚴(yán)重后果
class AbstractFactory
{
public:virtual Phone* create_phone() = 0;virtual SoftWare* create_soft_ware() = 0;
};class XiaoMiFactory : public AbstractFactory
{Phone* create_phone() override{Phone* p = new XiaoMiPhone();return p;}SoftWare* create_soft_ware() override{SoftWare* sw = new AndroidSoftWare();return sw;}
};class IosFactory : public AbstractFactory
{Phone* create_phone() override{Phone* p = new IosPhone();return p;}SoftWare* create_soft_ware() override{SoftWare* sw = new IosSoftWare();return sw;}
};
int main()
{// 很多情況下, 工廠不止是生產(chǎn)一種類, 而是生產(chǎn)一整套互相關(guān)聯(lián)的類, 這樣一個(gè)工廠, 就是抽象工廠模式AbstractFactory* af = new XiaoMiFactory();Phone* p1 = af->create_phone();SoftWare* sw = af->create_soft_ware();p1->set_soft_ware(sw);af = new IosFactory();Phone* p2 = af->create_phone();SoftWare* sw2 = af->create_soft_ware();p2->set_soft_ware(sw2);
}
http://www.risenshineclean.com/news/1940.html

相關(guān)文章:

  • 成都 網(wǎng)站百度平臺(tái)商戶電話號(hào)碼
  • 模板網(wǎng)站劣勢seo整合營銷
  • 鶴山網(wǎng)站建設(shè)易搜互聯(lián)品牌推廣內(nèi)容
  • 做網(wǎng)站設(shè)計(jì)參考文獻(xiàn)seo兼職論壇
  • 煙臺(tái)有沒有做網(wǎng)站十大軟件免費(fèi)下載網(wǎng)站排行榜
  • 湘潭哪里做網(wǎng)站排名前十的大學(xué)
  • www.網(wǎng)站建設(shè)google引擎免費(fèi)入口
  • 做彩妝網(wǎng)站的公司成都高新seo
  • 怎么篩選一家做網(wǎng)站做的好的公司西安網(wǎng)站seo
  • 免費(fèi)推廣網(wǎng)站方法大集合網(wǎng)站怎么優(yōu)化自己免費(fèi)
  • 制作精美網(wǎng)站建設(shè)售后完善公司網(wǎng)站建設(shè)服務(wù)機(jī)構(gòu)
  • 深圳企業(yè)網(wǎng)站推廣關(guān)鍵詞優(yōu)化一般收費(fèi)價(jià)格
  • 做電影網(wǎng)站用什么軟件有哪些seo教程seo優(yōu)化
  • 做字幕模板下載網(wǎng)站有哪些英文谷歌優(yōu)化
  • 做笑話網(wǎng)站賺錢站長統(tǒng)計(jì)app進(jìn)入網(wǎng)址新版小豬
  • 網(wǎng)站建設(shè)有免費(fèi)的空間嗎網(wǎng)絡(luò)優(yōu)化的內(nèi)容包括哪些
  • 互聯(lián)網(wǎng)推廣加盟搜索引擎優(yōu)化工具
  • 福州營銷網(wǎng)站建設(shè)模板如何制作網(wǎng)站和網(wǎng)頁
  • 網(wǎng)站開發(fā)語言入門瀏覽器直接進(jìn)入網(wǎng)站的注意事項(xiàng)
  • 嘉興秀洲區(qū)全網(wǎng)seo優(yōu)化優(yōu)惠廈門seo關(guān)鍵詞
  • 聯(lián)系昆明網(wǎng)站建設(shè)推廣app用什么平臺(tái)比較好
  • wordpress菜單外觀樣式seo推廣優(yōu)化排名軟件
  • 開發(fā)網(wǎng)站要注意什么問題推廣計(jì)劃書范文
  • 做數(shù)學(xué)的網(wǎng)站視頻外鏈平臺(tái)
  • 建個(gè)網(wǎng)站的電話廣東seo網(wǎng)絡(luò)培訓(xùn)
  • java eclipse做網(wǎng)站網(wǎng)頁制作在線生成
  • 如果是創(chuàng)建的網(wǎng)站網(wǎng)站快速排名優(yōu)化價(jià)格
  • 百度做網(wǎng)站找誰智能建站系統(tǒng)
  • 煙臺(tái)優(yōu)化網(wǎng)站建設(shè)網(wǎng)絡(luò)營銷好不好
  • 前端做視頻直播網(wǎng)站怎么做線上推廣