设计模式-->创建型模式-->工厂模式

本文介绍了工厂模式在软件设计中的作用,包括简单工厂模式和工厂方法模式。简单工厂模式通过静态工厂方法创建对象,但不满足开闭原则。而工厂方法模式通过抽象工厂和具体工厂类实现扩展,解决了简单工厂的局限性,使得实例化过程更加灵活。
摘要由CSDN通过智能技术生成

工厂模式的的作用:实现创建者 调用者分离

1、简单工厂模式(静态工厂模式 方法都是静态的)

提供一个类--》工厂 (负责返回一个可有工厂生产出的对象)

缺点:增加一个产品 不修改类是做不到 不满足开闭原则 增加新的 必须扩展已有代码

eg:

//一个工厂类
package com.ljb.simplefactory;

/**
 * Copyright (C), 2022-2030, Chongqing Mac info. Co., Ltd.
 *
 * @author Sw_Ljb
 * @version 1.0
 * @ClassName CarFactory
 * @Date 2022/4/20下午4:25
 */
public class CarFactory{

    //方式一
    public static Car getCar(String msg){
        if (msg.equals("五菱")){
            return new Wuling();
        }else if (msg.equals("特斯拉")){
            return new Tesla();
        }else {
            return null;
        }
    }

    //方式二
    public static Car getWu(){
        return new Wuling();
    }

    public static Car getT(){
        return new Tesla();
    }
    public static Car getD(){
        return new Dazhong();
    }

}
//一个工厂生产的产品
package com.ljb.simplefactory;

/**
 * Copyright (C), 2022-2030, Chongqing Mac info. Co., Ltd.
 *
 * @author Sw_Ljb
 * @version 1.0
 * @ClassName Dazhong
 * @Date 2022/4/20下午4:24
 */
public class Dazhong implements Car{

    @Override
    public void name() {
        System.out.println("大众");
    }
}

 提供一个接口去让产品去事项

2、工厂方法模式

目的:解决简单工厂模式不可扩展 ;实例化对象 不用new 用工厂方法代替

就是说将工厂也抽象 然后 每一家要生产该产品的工厂 都来实现这个抽象工厂 并重写工厂中的方法

然后在生产各自的产品。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值