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

建设企业网站公江苏网站开发

建设企业网站公,江苏网站开发,需求登记网站怎么做,公司做网站流程工厂模式 工厂模式介绍示例示例使用运行结果工厂模式与简单工厂模式区别 工厂模式 工厂模式在简单工厂模式的基础之上进行了改进。当需要生产的产品种类增加,可以通过新增子类工厂来生产,没有破坏程序设计原则中的开放封闭原则。 介绍 工厂模式先抽象…

工厂模式

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

工厂模式

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

介绍

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

示例

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

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.ds6.com.cn/news/70429.html

相关文章:

  • 网站做支付链接安全吗如何申请百度竞价排名
  • 本地网站可以做吗北京seo如何排名
  • 广州营销型网站优化个人网上卖货的平台
  • 珠海营销型网站建设公司武汉seo排名扣费
  • 中山网站建设文化价格谷歌官方网站注册
  • 做网站先做前端好还是先做逻辑软文营销的技巧有哪些
  • 做电商怎么建网站网站seo专员招聘
  • 搜狐网站网络营销怎么做雅思培训班价格一览表
  • 仿做唯品会网站上海专业seo
  • 做vr效果图的网站优化科技
  • 网站禁止ping苏州关键词排名系统
  • 武汉论坛网站网店营销的推广方法有哪些
  • 三里屯做网站的公司公司网站设计与制作
  • 团支部智慧团建网站seo关键词如何布局
  • 苏州代办营业执照的正规公司seo搜索引擎优化培训班
  • 做dj音叉网站平台郑州seo网站有优化
  • 长治做网站公司百度网络推广怎么收费
  • 个人可以做网站国际时事新闻
  • 乐清日报电子版今天佛山网站设计实力乐云seo
  • 网络科技建设网站厦门网站seo外包
  • ps网站设计怎么做郑州网站优化顾问
  • 小程序外包开发多少钱seo快速建站
  • php做的网站模板下载重庆seo俱乐部
  • 百度搜索网站排名郑州企业网络推广外包
  • 阿里云服务器做盗版电影网站顾问
  • 宁波专业做网站如何找外链资源
  • 做鞋子出口需要作网站吗网站快速收录的方法
  • 十大牌子网晋城seo
  • 网站建设公司电话电商网站制作
  • 黄岛外贸网站建设电商运营seo