java什么是工厂设计模式

发布网友 发布时间:2022-04-22 03:44

我来回答

2个回答

懂视网 时间:2022-05-12 03:37

工厂设计模式是最常用的一种设计模式,它非常有用,用于定义用于创建对象的运行时接口,提供了一种创建对象的最佳方式。下面本篇文章就来带大家简单认识一下工厂设计模式,希望对大家有所帮助。

工厂设计模式被称为工厂,因为它创建了各种类型的对象,而不必知道它创建了什么类型的对象或如何创建它;通过使用工厂,我们可以将对象的创建与实际实现分开。

以下是三种常见的工厂设计模式:

简单的工厂模式:创建一个工厂方法,依据传入的参数,生成对应的产品对象。

工厂方法模式:将工厂提取成一个接口或抽象类,具体生产什么产品由子类决定。

抽象工厂模式:为创建一组相关或者是相互依赖的对象提供的一个接口,而不需要指定它们的具体类。用来解决相对复杂的问题,适用于一系列、大批量的对象生产。

说明:

对于简单工厂和工厂方法来说,两者的使用方式实际上是一样的,如果对于产品的分类和名称是确定的,数量是相对固定的,推荐使用简单工厂模式。

何时使用工厂设计模式?

工厂设计模式通常用于以下情况:

● 类无法预测事先需要创建的对象类型。

● 类需要其子类来指定它创建的对象。

● 希望本地化逻辑以实例化复杂对象时。

说明:对于应用程序的主要部分需要管理对象而不是创建对象的情况,工厂模式是一个很好的解决方案。

热心网友 时间:2022-05-12 00:45

把创建对象的工作,交给一个抽象出来的概念'工厂'去做,就是工厂设计模式。比如,你要新建一个用户对象 User user=new User();这很简单,也好理解。但是如果你用工厂设计模式去做,就算最简单的实现你也得加个类型,如:UserFactory,而里面的代码可能只是:
public static User getUser(){
return new User();
}
在使用的时候就是变成:User user = UserFactory.getUser();
嗯,看起来是多此一举,没错,我这场景就是多此一举。工厂模式适用场景,首先得有较复杂的子父类结构,再者创建逻辑可能很复杂,这样才有意义,才有必要去使用工厂模式。又或者这个傻*对象创建起来很消耗性能,且不是非得是全新的才能用,那么可以配合单例模式一起使用,实现对象的复用,达到性能优化的目的。
嗯,你可能又会疑惑,啥是单例,给你个很傻的描述:有个神奇的类,他有个神奇的方法,这个方法会帮你创建一个对象,且不管调用几次,怎么调用,他都保证只给你一个,且百分百是同一个。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com