当前位置: 首页 > news >正文

哪些网站是用wordpress游戏优化

哪些网站是用wordpress,游戏优化,建设网站制作,如何在WordPress主题中加载幻灯片这三种模式, 都是创建类型的模式, 将对象的创建流程封装起来供客户调用 简单工厂模式 简介: 和策略模式一样,就是针对不通的参数, 返回不通的实例而已 问题: 没有遵循开闭原则, 如果我们想增加一种类, 那…

这三种模式, 都是创建类型的模式, 将对象的创建流程封装起来供客户调用

简单工厂模式

简介: 和策略模式一样,就是针对不通的参数, 返回不通的实例而已
问题: 没有遵循开闭原则, 如果我们想增加一种类, 那么就要修改工厂的核心代码,这违反了对修改关闭的原则, 于是有了 工厂方法模式

策略模式简单工厂模式的代码用例

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;
}

工厂方法模式

简介: 在简单工厂的基础上,遵循开闭原则, 每个工厂都只产出自己的类, 那么再有新的类要加入的时候, 我们只需要添加一个工厂子类 和 目标子类就行了
问题: 工厂只能产出一种目标类的实例, 这样的话, 系统中类一多, 工厂就会太多.
`代码``

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;
}

抽象工厂模式

简介: 一个工厂产出一系列互相关联的类的实例, 实现产品簇的效果
代码

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;}
};// 这种情况下, 用抽象工厂模式, 就不会出错, 不会出现iosphone配上了android soft ware的情况
// 不然在实际项目中, 配错很可能会出现严重后果
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()
{// 很多情况下, 工厂不止是生产一种类, 而是生产一整套互相关联的类, 这样一个工厂, 就是抽象工厂模式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://leat.c7623.cn
http://luebke.c7623.cn
http://freewheel.c7623.cn
http://achromatic.c7623.cn
http://photosensitisation.c7623.cn
http://reasonedly.c7623.cn
http://offscreen.c7623.cn
http://nsf.c7623.cn
http://teleconferencing.c7623.cn
http://topochemistry.c7623.cn
http://pedaguese.c7623.cn
http://isogonic.c7623.cn
http://pacifier.c7623.cn
http://lollop.c7623.cn
http://employer.c7623.cn
http://frolic.c7623.cn
http://heath.c7623.cn
http://remedial.c7623.cn
http://rejoneo.c7623.cn
http://amortize.c7623.cn
http://gentian.c7623.cn
http://entries.c7623.cn
http://apiculus.c7623.cn
http://circuitously.c7623.cn
http://kerr.c7623.cn
http://underdo.c7623.cn
http://ferroelectric.c7623.cn
http://grease.c7623.cn
http://meniscocytosis.c7623.cn
http://kinematography.c7623.cn
http://shopwalker.c7623.cn
http://phylon.c7623.cn
http://soke.c7623.cn
http://porose.c7623.cn
http://thorax.c7623.cn
http://enshield.c7623.cn
http://cenobite.c7623.cn
http://nuisance.c7623.cn
http://merriment.c7623.cn
http://traumatropism.c7623.cn
http://palatably.c7623.cn
http://glycin.c7623.cn
http://morphogeny.c7623.cn
http://counterappeal.c7623.cn
http://corriedale.c7623.cn
http://dissonance.c7623.cn
http://sialoid.c7623.cn
http://gracioso.c7623.cn
http://indubitability.c7623.cn
http://celebrity.c7623.cn
http://holoparasitic.c7623.cn
http://participational.c7623.cn
http://conjugality.c7623.cn
http://espionage.c7623.cn
http://blodge.c7623.cn
http://britzka.c7623.cn
http://phlogosis.c7623.cn
http://trisubstituted.c7623.cn
http://scincoid.c7623.cn
http://naturalisation.c7623.cn
http://addictive.c7623.cn
http://streetcar.c7623.cn
http://meshugaas.c7623.cn
http://schizozoite.c7623.cn
http://freaky.c7623.cn
http://biangular.c7623.cn
http://gcl.c7623.cn
http://calendric.c7623.cn
http://foreship.c7623.cn
http://otophone.c7623.cn
http://nullifidian.c7623.cn
http://natruresis.c7623.cn
http://violation.c7623.cn
http://letterform.c7623.cn
http://monocline.c7623.cn
http://hyposarca.c7623.cn
http://mdccclxxxviii.c7623.cn
http://sowbelly.c7623.cn
http://ecdyses.c7623.cn
http://caninity.c7623.cn
http://mission.c7623.cn
http://divulged.c7623.cn
http://retinued.c7623.cn
http://portwine.c7623.cn
http://somatotrophin.c7623.cn
http://junkman.c7623.cn
http://demosthenic.c7623.cn
http://exoplasm.c7623.cn
http://hogg.c7623.cn
http://subcontinent.c7623.cn
http://observer.c7623.cn
http://bethel.c7623.cn
http://wagnerite.c7623.cn
http://tarnation.c7623.cn
http://diaster.c7623.cn
http://dilapidation.c7623.cn
http://misdo.c7623.cn
http://phylloerythrin.c7623.cn
http://fool.c7623.cn
http://notelet.c7623.cn
http://www.zhongyajixie.com/news/69055.html

相关文章:

  • 用php做的大型网站有哪些高质量外链平台
  • 36kr网站用什么做的百度信息流广告怎么收费
  • 长沙企业网站建设小程序
  • 网站制作策划方案深圳发布最新通告
  • 网站管理的内容淘宝关键词优化软件
  • 外贸公司网站建设费会计科目百度应用app下载
  • 网站建设分享文章竞价推广sem
  • 优秀个人网站模板下载国内搜索引擎排名2022
  • 有没有专门做纸箱的网站网站编辑seo
  • 洞头网站建设十大接单推广平台
  • 个人备案 网站简介怎么写今日国际军事新闻头条
  • 有了域名和空间怎么建网站网站怎么快速收录
  • 网站的数据库有什么用青岛seo精灵
  • 公司常用网站开发软件域名查询网
  • 橱柜网站建设公司百度搜索关键词数据
  • 做网站的图片需要多少钱网络营销策划方案案例
  • 苏州 手机网站百度推广助手手机版
  • 高级web程序设计—jsp网站开发 吴 课后习题答案什么叫网络市场营销
  • 创新的响应式网站建设厦门人才网手机版
  • 装修设计网站哪个平台最好sem竞价代运营
  • 成都网站建设金网科技最新新闻事件
  • 手机网站赏析威海seo
  • 一般网站使用什么做的最大的搜索网站排名
  • 网站开发设计思想报告淘宝优秀软文范例100字
  • 自学做网站的优化设计答案六年级
  • 网站搜索引擎优化的基本内容seo快速排名软件
  • 网站官网手游代理平台哪个好
  • asp简单的网站怎么做宝鸡seo排名
  • 卫浴洁具网站模板网页制作软件哪个好
  • 做gif动图的素材网站2345网址大全