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

装修网站怎么做推广wordpress化

装修网站怎么做推广,wordpress化,室内装修效果图,页面设计师招聘工厂模式 工厂模式介绍示例示例使用运行结果工厂模式与简单工厂模式区别 工厂模式 工厂模式在简单工厂模式的基础之上进行了改进。当需要生产的产品种类增加,可以通过新增子类工厂来生产,没有破坏程序设计原则中的开放封闭原则。 介绍 工厂模式先抽象…

工厂模式

  • 工厂模式
    • 介绍
    • 示例
    • 示例使用
    • 运行结果
    • 工厂模式与简单工厂模式区别

工厂模式

工厂模式在简单工厂模式的基础之上进行了改进。当需要生产的产品种类增加,可以通过新增子类工厂来生产,没有破坏程序设计原则中的开放封闭原则。

介绍

工厂模式先抽象出一个抽象工厂,再子类化抽象工厂,将对应产品对象的创建放在子类工厂中。也就是一个子工厂负责生产一种产品,即具体的产品对象由对应的具体的子工厂创建。当产品种类增加,只需增加新的子工厂来生产,遵守开放封闭原则。

示例

本示例接上篇的简单工厂模式。在原本示例的基础上进行改进。将采用简单工厂设计模式的示例改为采用工厂设计模式的示例。

class PenHolder 
{
public:virtual void introduce() = 0;
};class PlasticPenHolder :public PenHolder 
{
public:void introduce()override {cout << "I am PlasticPenHolder!" << endl;}
};class IronPenHolder :public PenHolder 
{
public:void introduce()override {cout << "I am IronPenHolder!" << endl;}
};class BaseFactory 
{
public:virtual PenHolder * createPenHolder() = 0;
};class PlasticFactory :public BaseFactory 
{
public:PenHolder* createPenHolder()override {return new PlasticPenHolder;}
};class IronFctory :public BaseFactory 
{
public:PenHolder* createPenHolder() override{return new IronPenHolder;}
};

示例使用

int main() 
{cout << "工厂模式输出:" << endl;BaseFactory *baseFactory1 = new PlasticFactory;PenHolder* penHolder1 = baseFactory1->createPenHolder();penHolder1->introduce();delete penHolder1;delete baseFactory1;BaseFactory *baseFactory2 = new IronFctory;PenHolder* penHolder2 = baseFactory2->createPenHolder();penHolder2->introduce();delete penHolder2;delete baseFactory2;return 0;
}

运行结果

在这里插入图片描述

工厂模式与简单工厂模式区别

相同点:
简单工厂模式和抽象工厂模式都是创建型设计模式。
不同点:
1.简单工厂模式只有一个工厂类,通过该工厂类生产不同的产品,代码结构简单易懂。工厂模式先是抽象出一个抽象工厂类,在抽象工厂类中提炼出一个纯虚的工厂函数,派生出不同的子工厂类,重写抽象类中的工厂函数,生产不同的产品对象,一种产品对应一个子工厂类,相对于简单工厂代码复杂性增加。
2.简单工厂模式当产品的种类增加时,需要修改工厂函数,破环了开放封闭原则。工厂模式当产品种类增加,只需增加新的子工厂类来生产新的产品,遵守了程序设计的开放封闭原则,具有很好的扩展性和易维护性。但也有一个弊端:当产品种类很多的时候,从抽象工厂类派生的子工厂类就会很多,造成了程序的继承过大。
3.建档工厂模式适用于需求相对简单的产品创建。工厂模式适用于复杂产品的创建需求。

http://www.yayakq.cn/news/916083/

相关文章:

  • 上市公司网站推广方案中文域名注册费用标准
  • unity3d转行网站开发服务器租用网站模版
  • 大连市平台网站江津网站建设怎么样
  • frontpage网站模板成都到西安火车时刻表查询
  • 做旅游海报的软件或是网站开网店怎么开
  • 做感恩网站的图片穹拓网站建设
  • 国家鼓励做网站的行业番禺做网站开发
  • 做一个京东网站怎么做网络营销推广活动
  • 省博物馆网站建设网站开发团队需配备什么岗位
  • python做爬虫和做网站seo搜索引擎优化报价
  • 服装搭配网站源码ps平面设计主要做什么
  • 软件开发和网站建设一样吗网络应用程序方案设计
  • 站长工具seo推广快速优化seo软件
  • 产品介绍网站设计蓬莱建网站
  • 个人网站前置审批项网站开发工作室挣钱吗
  • 深圳网站建设 设计首选公司如何维护网站
  • 成都专业手机网站建设推广wordpress grace8下载
  • 网站建设关键技术北大青鸟计算机培训学费
  • 重庆企业公司网站建设滕滕州网站建设
  • 霸州做网站1766534168怎么改网站内容
  • 易语言网站做软件免费微信小程序制作平台?
  • seo企业网站源码如何在网站做电子杂志
  • 鄂州网吧什么时候恢复营业宁波抖音seo搜索优化软件
  • 做双语网站用什么cms系统好建站系统
  • 想给公司做个网站 怎么做开发网页的工具有哪些
  • 钓鱼网站如何做湖南网站seo找行者seo
  • 做网站用什么开源程序资阳网站seo
  • 个人建立网站网站建设经理岗位职责
  • 如何做起一个网站推广wordpress站点链接打不开网址
  • 中交建设集团网站分公司广州游戏网站建设