首页 >

java中抽象工厂模式与工厂方法模式的区别

Java|Java入门java中抽象工厂模式与工厂方法模式的区别
java,抽象工厂模式,工厂方法模式,区别
Java-Java入门
微信支付众筹源码,vscode添加cocos,学好ubuntu,tomcat 包含空格,sqlite3扩展在哪,自助在线换钱插件,前端开发最新框架护栏网,java爬虫源代码知乎,php 数组随机一个,天天射seo查询,网站流媒体代码,学生信息管理网页代码模板,phpcms模板解析php标签失败lzw
java中抽象工厂模式与工厂方法模式的区别
赛车源码,调整ubuntu启动顺序,tomcat配置成功的网页,爬虫项目作业,php开源域名,金乡县关键词seo优化lzw
A、简单工厂模式
带微的电影网站源码,ubuntu玩红警2,爬虫代码学习技巧,php创建,南挚seolzw
特点:

1、它是一个具体的类,非接口 抽象类。有一个重要的create()方法,利用if或者 switch创建产品并返回。

2、create()方法通常是静态的,所以也称之为静态工厂。

缺点:

1、扩展性差(我想增加一种面条,除了新增一个面条产品类,还需要修改工厂类方法)。

2、不同的产品需要不同额外参数的时候 不支持。

B、工厂方法模式

模式描述:

提供一个用于创建对象的接口(工厂接口),让其实现类(工厂实现类)决定实例化哪一个类(产品类),并且由该实现类创建对应类的实例。

式要素:

提供一个产品类的接口。产品类均要实现这个接口(也可以是abstract类,即抽象产品)。

提供一个工厂类的接口。工厂类均要实现这个接口(即抽象工厂)。

由工厂实现类创建产品类的实例。工厂实现类应有一个方法,用来实例化产品类。

C、抽象工厂模式

模式描述:

为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。

D、区别

抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。

它与工厂方法模式的区别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对的多个产品等级结构。

在编程中,通常一个产品结构,表现为一个接口或者抽象类,也就是说,工厂方法模式提供的所有产品都是衍生自同一个接口或抽象类,而抽象工厂模式所提供的产品则是衍生自不同的接口或抽象类。

在抽象工厂模式中,有一个产品族的概念:所谓的产品族,是指位于不同产品等级结构中功能相关联的产品组成的家族。抽象工厂模式所提供的一系列产品就组成一个产品族;而工厂方法提供的一系列产品称为一个等级结构。

推荐教学:Java教学


java中抽象工厂模式与工厂方法模式的区别
  • 聊聊PHP中的抽象工厂模式
  • 聊聊PHP中的抽象工厂模式 | 聊聊PHP中的抽象工厂模式 ...

    java中抽象工厂模式与工厂方法模式的区别
  • JavaScript设计模式之抽象工厂模式介绍【javascript】
  • JavaScript设计模式之抽象工厂模式介绍【javascript】 | JavaScript设计模式之抽象工厂模式介绍【javascript】 ...

    java中抽象工厂模式与工厂方法模式的区别
  • 有关JS抽象工厂模式(详细教程)
  • 有关JS抽象工厂模式(详细教程) | 有关JS抽象工厂模式(详细教程) ...