简单工厂简单说

弄清楚这个设计模式的想要表达的含义,工厂设计模式,举个例子:包饺子。

工厂设计模式专注的是饺子用的是什么馅,猪肉的,白菜的,猪肉白菜的,就是比较具体化,我们告诉老板,来一份猪肉馅的饺子,老板就会给我们煮猪肉馅的,有条件的输入和具体内容的产出,

这个就是工厂设计模式,下面上代码瞧一瞧。

// 1. 抽象产品
interface JiaoZi {
    void pay(double amount);
}

// 2. 具体产品
class ZhuRou implements JiaoZi {
    @Override public void pay() { System.out.println("猪肉馅"); }
}

class BaiCai implements JiaoZi {
    @Override public void pay() { System.out.println("白菜馅"); }
}

// 3. 工厂类
class JiaoZiGuan {
    public static JiaoZi createJiaoZi(String type) {
        return switch (type.toLowerCase()) {
            case "zhurou" -> new ZhuRou();
            case "baicai" -> new BaiCai();
            default -> throw new IllegalArgumentException("抱歉,该店没有这种口味的饺子");
        };
    }
}

// 使用
JiaoZi jiaozi = JiaoZiGuan.createJiaoZi("zhurou");
jiaozi.pay();

如果在日常开发过程中,遇到了有类似场景的地方,就是功能保持一致(都是饺子),但是具体功能的实现不用管(饺子馅),

完全依靠外部定夺(顾客说的,猪肉的),那么你不妨试试,简单工厂模式,最起码能让代码更加优雅一点点,只是发表一点自己的感想,有问题欢迎大家指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值