工厂模式之静态工厂
Factory(静态工厂)
一、静态工厂模式简介
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
注意:
简单工厂模式也叫静态工厂模式,就是工厂类一般是使用静态方法
通过接收的参数的不同来返回不同的对象实例
对于增加新产品无能为力!不修改代码的话,是无法扩展的
二、实现UML类图
三、实现
步骤1:创建接口
public interface Car { void run(); }
步骤2:创建实现接口的实体类
public class Audi implements Car{ @Override public void run() { System.out.println("奥迪运行"); } }
public class Byd implements Car{ @Override public void run() { System.out.println("比亚迪运行"); } }
步骤3:创建给定信息实体类对象的简单工厂
/** * 简单工厂(静态工厂):用来生产同一等级结构中的任意产品 * 增加产品,需要修改该类 * @author yw */ public class CarSimpleFactory { public static Car createCar(String type) { Car car = null; if("Audi".equals(type)) { car = new Audi(); }else if("Byd".equals(type)) { car = new Byd(); }else { throw new RuntimeException("无此车"); } return car; } public static Audi createAudiCar() { return new Audi(); } public static Byd createBydCar() { return new Byd(); } }
步骤4:调用者调用
/** * 实现调用者和创建者的分离 * 核心作用:实例化对象,用工厂方法代替new * @author yw * 分类: * 简单工厂也称之为静态工厂 * 工厂方法 * 抽象工厂 */ /** * 无工厂--->简单工厂 * 无工厂:调用者直接new产生实例化对象,需要了解接口和实现类 * 简单工厂:无需了解实现类 * 简单工厂也称为静态工厂,一般使用静态方法,通过接收不同的参数创建不同的实例对象 * 违反了开闭原则,对于新型的产品不修改原始类,无法扩展 */ public class FactoryDemo01 { public static void main(String[] args) { Car car = CarSimpleFactory.createCar("Audi"); car.run(); car = CarSimpleFactory.createBydCar(); car.run(); } }
步骤5:运行程序,观察结果
奥迪运行
比亚迪运行
posted on 2020-03-26 20:17 VincentYew 阅读(1494) 评论(0) 收藏 举报