1、简单工厂模式(Simple Factory Pattern): 简单工厂模式不是一个正式的设计模式,但它是工厂模式的基础。它使用一个单独的工厂类来创建不同的对象,根据传入的参数决定创建哪种类型的对象。 2、工厂方法模式(Factory Method Pattern): 工厂方法模式定义了一个创建对象的接口,但由子类决定实例化哪个类。工厂方法将对象...
简单工厂模式是有一些缺陷的,比如我们生产新的产品,就需要同步改变createFood()方法中的逻辑,这就违背了“开放--封闭”原则(对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。对修改封闭,意味着类一旦设计完成,就可以独立完成其工作,而不要对类进行任何修改。) 因此简单工厂模式只适用...
工厂方法模式是对简单工厂模式的改进,它去掉了简单工厂模式中工厂方法(例如,createFruit()这个方法)的静态属性,使得该方法能够被子类继承,将简单工厂模式中在静态工厂方法中集中创建对象的操作转移到各子类中完成,从而减轻了父类方法的负担。 工厂方法模式包括4个主要的角色: 抽象工厂类(AbstractFactory):工厂方法模式的...
工厂模式的工作流程如下: 客户端通过调用抽象工厂的方法来创建产品,而无需直接实例化具体产品类。 抽象工厂根据客户端的请求,选择合适的具体工厂来创建对应的产品。 具体工厂根据抽象工厂的定义,创建具体产品的实例并返回给客户端。 客户端使用返回的产品实例进行操作,而无需关心具体产品的实现细节。
一、工厂模式 工厂模式又叫做工厂方法模式,是一种创建型设计模式,一般是在父类中提供一个创建对象的方法,允许子类决定实例化对象的类型。 1.1 工厂模式介绍 工厂模式是Java中比较常见的一种设计模式,实现方法是定义一个统一创建对象的接口,让其子类自己决定去实例化那个工厂类,解决不同条件下创建不同实例的问题。工厂...
抽象工厂模式 1.2 简单工厂模式 简单工厂不是一种设计模式,反而比较像是一种编程习惯。 1.2.1 结构 简单工厂包含如下角色: 抽象产品:定义了产品的规范,描述了产品的主要特性和功能。 具体产品 :实现或者继承抽象产品的子类 具体工厂 :提供了创建产品的方法,调用者通过该方法来获取产品。
1. 工厂模式的三种实现 在Java中,工厂模式通常有三种实现方式:简单工厂模式、工厂方法模式和抽象工厂模式。 简单工厂模式(Simple Factory Pattern): 简单工厂模式通过一个工厂类来创建对象,客户端通过传递不同的参数给工厂类,工厂类根据参数的不同来创建不同的对象实例。
系统扩展困难,一旦添加新产品就不得不修改工厂逻辑,在产品类型较多时,可能造成工厂逻辑过于复杂。 简单工厂模式使用了静态工厂方法,造成工厂角色无法形成基于继承的等级结构。 1.2 工厂方法模式 工厂方法模式uml图 工厂方法模式是一种创建型设计模式,它定义了一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。这样...
工厂模式的实现主要分为三种,分别是简单工厂模式(Simple Factory)、工厂方法模式(Factory Method)和抽象工厂模式(Abastract Factory );但是简单工厂模式不属于23种GOF设计模式之一。工厂模式在各种开源框架里使用非常普遍,例如Spring框架大量使用工程模式。下面分别介绍一下这三种实现。