在设计模式中什么是工厂方法模式,设计模式 工厂模式 分为哪几种?

2020-11-23 14:10:13 字数 4828 阅读 3545

1楼:匿名用户

工厂方法模式(factory method)是一种常用的对象创建型设计模式,此模式的核心精神是封装类中不变的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。它的核心结构有四个角色,分别是抽象工厂;具体工厂;抽象产品;具体产品

设计模式 工厂模式 分为哪几种?

2楼:匿名用户

工厂方法(factory method),和抽象工厂(abstract factory),他们的不同之处主要是抽象

工厂就是对多个工厂方法的实现,这点可以从他们的实现**看出来。

factory method:

public class factory

}abstract factory:

public abstract class factory

public class ******factory extends factory

public sample2 creator(string name)

}public class bombfactory extends factory

public sample2 creator(string name)}

3楼:猶貝爾盧

ggggggggggggggggggggggggggggggggg

java 为什么使用工厂方法设计模式

4楼:是否分手

如果有许多地方都需要生成a的对象,那么你需要写很多a a=new a()。 如果需要修改的话,你要修改许多地方。 但是如果用工厂模式,你只需要修改工厂**。

其他地方引用工厂,可以做到只修改一个地方,其他**都不动,就是解耦了。

抽象工厂和工厂方法模式在应用中的不同作用

5楼:匿名用户

简单工厂,工厂方法,抽象工厂都属于设计模式中的创建型模式。其主要功能都是帮助我们把对象的实例化部分抽取了出来,优化了系统的架构,并且增强了系统的扩展性。

本文是本人对这三种模式学习后的一个小结以及对他们之间的区别的理解。

简单工厂

简单工厂模式的工厂类一般是使用静态方法,通过接收的参数的不同来返回不同的对象实例。

不修改**的话,是无法扩展的。

工厂方法

工厂方法是针对每一种产品提供一个工厂类。通过不同的工厂实例来创建不同的产品实例。

在同一等级结构中,支持增加任意产品。

抽象工厂

抽象工厂是应对产品族概念的。比如说,每个汽车公司可能要同时生产轿车,货车,客车,那么每一个工厂都要有创建轿车,货车和客车的方法。

应对产品族概念而生,增加新的产品线很容易,但是无法增加新的产品。

小结★工厂模式中,重要的是工厂类,而不是产品类。产品类可以是多种形式,多层继承或者是单个类都是可以的。但要明确的,工厂模式的接口只会返回一种类型的实例,这是在设计产品类的时候需要注意的,最好是有父类或者共同实现的接口。

★使用工厂模式,返回的实例一定是工厂创建的,而不是从其他对象中获取的。

★工厂模式返回的实例可以不是新创建的,返回由工厂创建好的实例也是可以的。

区别简单工厂

:用来生产同一等级结构中的任意产品。(对于增加新的产品,无能为力)

工厂方法 :用来生产同一等级结构中的固定产品。(支持增加任意产品)

抽象工厂

:用来生产不同产品族的全部产品。(对于增加新的产品,无能为力;支持增加产品族)

以上三种工厂

方法在等级结构和产品族这两个方向上的支持程度不同。所以要根据情况考虑应该使用哪种方法。

工厂方法模式是类模式还是对象模式?

6楼:贞子

工厂方法是类的创建模式:有一个抽象的factory类(可以是抽象类和接口),这个类将不在负责具体的产品生产,而是只制定一些规范,具体的生产工作由其子类去完成。这些子类,可以叫做叫抽象工厂。

抽象工厂是对象的创建模式:抽象工厂具体的描述一个工厂,描述他是生产什么。一个具体工厂对应一个具体产品,这个具体的工厂就负责生产对应的产品。

满意请采纳

编程中所说的 工厂模式 是什么意思??

7楼:匿名用户

c#的设计模式不是很简单的问题啊

8楼:匿名用户

你给一个参数 然后出个结果

java中常用的设计模式有哪些?请详细说明一下工厂模式。

9楼:哈尔滨市南岗区爱尚职

1.单例模式(有的书上说叫单态模式其实都一样)

该模式主要目的是使内存中保持1个对象

2.工厂模式

该模式主要功能是统一提供实例对象的引用。看下面的例子:

public class factory

}inte***ce classesdao

class classesdaoimpl implements classesdao

}class test

}这个是最简单的例子了,就是通过工厂方法通过接口获取对象的引用

3.建造模式

该模式其实就是说,一个对象的组成可能有很多其他的对象一起组成的,比如说,一个对象的实现非常复杂,有很多的属性,而这些属性又是其他对象的引用,可能这些对象的引用又包括很多的对象引用。封装这些复杂性,就可以使用建造模式。

4.门面模式

这个模式个人感觉像是service层的一个翻版。比如dao我们定义了很多持久化方法,我们通过service层将dao的原子方法组成业务逻辑,再通过方法向上层提供服务。门面模式道理其实是一样的。

5.策略模式

这个模式是将行为的抽象,即当有几个类有相似的方法,将其中通用的部分都提取出来,从而使扩展更容易。

10楼:詹爵云蕙若

一共23种设计模式!

引用《软件秘笈-设计模式那点事

》书籍:

按照目的来分,设计模式可以分为创建型模式、结构型模式和行为型模式。

创建型模式用来处理对象的创建过程;结构型模式用来处理类或者对象的组合;行为型模式用来对类或对象怎样交互和怎样分配职责进行描述。

创建型模式用来处理对象的创建过程,主要包含以下5种设计模式:

工厂方法模式(factory

method

pattern)

抽象工厂模式(abstract

factory

pattern)

建造者模式(builder

pattern)

原型模式(prototype

pattern)

单例模式(singleton

pattern)

结构型模式用来处理类或者对象的组合,主要包含以下7种设计模式:

适配器模式(adapter

pattern)

桥接模式(bridge

pattern)

组合模式(***posite

pattern)

装饰者模式(decorator

pattern)

外观模式(facade

pattern)

享元模式(flyweight

pattern)

**模式(proxy

pattern)

行为型模式用来对类或对象怎样交互和怎样分配职责进行描述,主要包含以下11种设计模式:

责任链模式(chain

ofresponsibility

pattern)

命令模式(***mand

pattern)

解释器模式(interpreter

pattern)

迭代器模式(iterator

pattern)

中介者模式(mediator

pattern)

备忘录模式(memento

pattern)

观察者模式(observer

pattern)

状态模式(state

pattern)

策略模式(strategy

pattern)

模板方法模式(template

method

pattern)

访问者模式(visitor

pattern)

抽象工厂模式(abstract

factory

pattern)提供了一个接口,用于创建相关或者依赖对象的家族,而不需要指定具体实现类。

抽象工厂模式允许客户使用抽象接口来创建一组相关的产品,客户类和工厂类分开,客户需要任何产品的时候,只需要向工厂请求即可,客户无须修改就可以获得新产品。这样一来,客户就从具体产品中解耦。

详情请参考书籍《软件秘笈:设计模式那点事》,里面讲解的23中设计模式例子很生动,容易理解,还有jdk中设计模式应用情况,看了收获挺大的!好东西大家一起分享!

祝你早日学会设计模式!

什么是设计模式

11楼:匿名用户

java中的设计模式:

总体来说设计模式

分为三大类:

创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

结构型模式,共七种:适配器模式、装饰器模式、**模式、外观模式、桥接模式、组合模式、享元模式。

行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

12楼:匿名用户

请问你是学哪一类的?

什么是膳食模式,分为哪几种谢谢大家了

1楼 匿名用户 当今世界大致有三种膳食结构模式 一是发达国家模式。也称富裕型模式,主要以动物性食物为主,通常年动物性食品年人均消达270kg,而粮食的直接消费量不过60 70kg。 二发展中国家模式。也称温饱模式,主要以植物性食物为主,一些经济不发达国家年人均消费谷类与薯类达200kg,肉蛋鱼不过5...