工厂模式使用场景,工厂模式和简单工厂模式的优劣

首页 > 生活 > 作者:YD1662024-06-03 07:52:43

最近面试经常被面试官问道日常开发过程中用到哪些设计模式,关于设计模式的书看了好几本,面试时候问道总觉得词不达意、心口不一。上周和虾皮面试官聊到工厂模式的使用,我列举了多个使用场景,但是还是没完全Get到面试官的点。今天全面整理一下,分享给大家。

手敲不易,需要工厂模式全套源码@我!

工厂模式分以下三类:简单工厂模式、工厂方法模式、抽象工厂模式。

  1. 简单工厂模式定义:
    简单工厂模式(Simple Factory Pattern)是一种创建型设计模式,它通过一个工厂类来创建各种不同类型的产品对象。客户端只需要提供给工厂类一个参数或条件,由工厂类根据参数或条件决定创建哪种类型的产品对象,从而实现对象的创建和使用的分离。代码示例:

工厂模式使用场景,工厂模式和简单工厂模式的优劣(1)

在Spring或JDK中的使用场景:简单工厂模式在Spring框架中的某些Bean创建和管理的场景中使用较多。例如,在使用Spring的IoC容器时,可以通过简单工厂模式,根据配置文件中的参数或条件来创建对应的Bean实例。

  1. 工厂方法模式定义:
    工厂方法模式(Factory Method Pattern)是一种创建型设计模式,它通过定义一个抽象的工厂接口/抽象类和多个具体的工厂类来创建不同类型的产品对象。每个具体工厂类负责创建一种类型的产品对象,客户端通过与抽象工厂进行交互,而无需关注具体的工厂和产品实现类。

工厂模式使用场景,工厂模式和简单工厂模式的优劣(2)

在Spring或JDK中的使用场景:工厂方法模式在Spring框架中广泛应用于Bean的创建和管理。例如,在使用Spring的BeanFactory或ApplicationContext时,可以使用工厂方法模式,让不同的具体工厂类负责创建不同类型的Bean实例,从而实现更高层次的灵活性和可维护性。另外,JDK中的java.util.Calendar类的getInstance()方法就是利用工厂方法模式来创建Calendar对象的实例。

  1. 抽象工厂模式定义:
    抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它提供了一个接口/抽象类,用于创建一系列相关或相互依赖的对象。抽象工厂模式可以创建多个产品对象簇(产品族),而不像工厂方法模式只能创建单一产品对象。

工厂模式使用场景,工厂模式和简单工厂模式的优劣(3)

在Spring或JDK中的使用场景:抽象工厂模式在Spring框架中的某些Bean创建和管理的场景中使用较多。例如,当需要创建一组相关的Bean,并且这些Bean之间存在依赖关系时,可以使用抽象工厂模式。同时,Spring框架中的AbstractApplicationContext类也是一个抽象工厂类,用于创建和管理Bean的ApplicationContext实例。在JDK中,javax.swing.LookAndFeel接口及其实现类就是抽象工厂模式的应用,该接口定义了一组方法用于创建不同风格的外观对象。

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.