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

wordpress tag转专题抖音seo推广外包公司好做吗

wordpress tag转专题,抖音seo推广外包公司好做吗,辽宁沈阳网站建设,点击图片是网站怎么做的1、简介 1.1、简介 抽象工厂模式为创建一组对象提供了一种解决方案。与工厂方法模式相比,抽象工厂模式中的具体工厂不只是创建一种产品,它负责创建一族产品 1.2、定义 抽象工厂模式(Abstract Factory Pattern):提供…

1、简介

1.1、简介

抽象工厂模式为创建一组对象提供了一种解决方案。与工厂方法模式相比,抽象工厂模式中的具体工厂不只是创建一种产品,它负责创建一族产品

1.2、定义

抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,它是一种对象创建型模式。

2、示例

2.1、解析

在抽象工厂模式中,每个具体工厂都提供了多个工厂方法用于产生多种不同类型的产品,这些产品构成了一个产品族。抽象工厂模式结构如下图所示。
在这里插入图片描述
在抽象工厂模式结构图中包含以下4个角色:
(1)AbstractFactory(抽象工厂):它声明了一组用于创建一族产品的方法,每个方法对应一种产品。
(2)ConcreteFactory(具体工厂):它实现了在抽象工厂中声明的创建产品的方法,生成一组具体产品,这些产品构成了一个产品族,每种产品都位于某个产品等级结构中。
(3)AbstractProduct(抽象产品):它为每种产品声明接口,在抽象产品中声明了产品所具有的业务方法。
(4)ConcreteProduct(具体产品):它定义具体工厂生产的具体产品对象,实现在抽象产品接口中声明的业务方法。

2.2、代码示例

在抽象工厂中声明了多个工厂方法,用于创建不同类型的产品,抽象工厂可以是接口,也可以是抽象类或者具体类,其典型代码如下:

interface AbstractFactory{// 工厂方法一public AbstractProductA createProductA(); // 工厂方法二public AbstractProductA createProductA(); ...
}

具体工厂实现了抽象工厂,每个具体的工厂方法可以返回一个特定的产品对象,而同一个具体工厂所创建的产品对象构成了一个产品族。对于每一个具体工厂类,其典型代码如下:

class ConcreteFactoryOne implements AbstractFactory{// 工厂方法一public AbstractProductA createProductA() {return new ConcreteProductA1();}// 工厂方法二public AbstractProductA createProductA() {return new ConcreteProductB1();}...
}

与工厂方法模式一样,抽象工厂模式也可为每一种产品提供一组重载的工厂方法,以不同的方式创建产品对象。

3、抽象工厂模式总结

抽象工厂模式是工厂方法模式的进一步延伸,由于它提供了功能更为强大的工厂类并且具备较好的可扩展性,在软件开发中得以广泛应用,尤其是在一些框架和API类库的设计中。例如,在Java语言的AWT(抽象窗口工具包)中就使用了抽象工厂模式,用来实现在不同的操作系统中,应用程序呈现与所在操作系统一致的外观界面。

3.1、优点

(1)抽象工厂模式隔离了具体类的生成,使得客户并不需要知道什么被创建。由于这种隔离,更换一个具体工厂就变得相对容易,所有的具体工厂都实现了在抽象工厂中声明的那些公共接口,因此只需改变具体工厂的实例,就可以在某种程度上改变整个软件系统的行为。
(2)当一个产品族中的多个对象被设计成一起工作时,它能够保证客户端始终只使用同一个产品族中的对象。
(3)增加新的产品族很方便,无须修改已有系统,符合开闭原则。

3.2、缺点

抽象工厂模式的主要缺点是:增加新的产品等级结构麻烦,需要对原有系统进行较大的修改,甚至需要修改抽象层代码,这显然会带来较大的不便,违背了开闭原则。

3.3、适用场景

(1)一个系统不应当依赖于产品类实例如何被创建、组合和表达的细节,这对于所有类型的工厂模式都是很重要的,用户无须关心对象的创建过程,将对象的创建和使用解耦。
(2)系统中有多于一个的产品族,而每次只使用其中某一个产品族。可以通过配置文件等方式来使得用户可以动态改变产品族,也可以很方便地增加新的产品族。
(3)属于同一个产品族的产品将在一起使用,这一约束必须在系统的设计中体现出来。同一个产品族中的产品可以是没有任何关系的对象,但是它们都具有一些共同的约束。例如同一操作系统下的按钮和文本框,按钮与文本框之间没有直接关系,但它们都是属于某一操作系统的,此时具有一个共同的约束条件:操作系统的类型。
(4)产品等级结构稳定,设计完成之后,不会向系统中增加新的产品等级结构或者删除已有的产品等级结构。

http://www.yidumall.com/news/18088.html

相关文章:

  • 网站开发的思维导图象山seo外包服务优化
  • 鹰潭房产网站建设百度推广一个关键词多少钱
  • 广东省建设监理协会信息管理网站设计网络营销方案
  • 深圳软件定制哪家好杭州优化商务服务公司
  • 中移建设有限公司网站企点
  • 西安企业网站建站百度收录提交网站后多久收录
  • 全国做网站的大公司佛山网站建设排名
  • 个人网站 云服务器关键词代发排名推广
  • 功能型网站建设深圳最新疫情最新消息
  • sem竞价托管代运营百度seo如何优化关键词
  • 微信怎么弄自己的小程序济南seo整站优化价格
  • 安徽网站建设哪家好如何屏蔽百度广告推广
  • 建站网站设计长沙网站seo优化排名
  • 国外的网站可以做百度推广吗查询网站流量
  • 保险理财网站建设百度网盟官网
  • 县政府网站建设方案现在做网络推广好做吗
  • 桂林旅游网站制作公司外贸营销网站建站
  • 让人做网站 需要准备什么百度 营销推广费用
  • 河北精品网站建设西安seo服务培训
  • 网站建设总做总结泰安网站建设优化
  • 网站ui需求无忧seo
  • 网站建设的总体需求分析搜索引擎大全网址
  • 阿里云做网站官网实事新闻热点
  • 运用asp做购物网站的心得在线培训系统平台
  • 西宁网站建设最好的公司哪家好企业官方网站有哪些
  • 如何做收费影视资源网站灰色行业关键词推广
  • 有哪些做婚礼平面设计的网站有哪些湖南关键词优化首选
  • 四川省住房和城乡建设厅网站是多少关键词在线播放免费
  • 长沙做暑假实践活动网站淮北seo排名
  • 网站备案包括哪些东西网站优化搜索排名