【设计模式】简单工厂模式(Simple Factory Pattern)

工厂模式(Factory Pattern)

用于创建不同类型的奖品对象。您可以创建一个奖品工厂,根据配置的类型来实例化相应的奖品对象。

java 复制代码
public interface Prize {
    void award();
}

public class MoneyPrize implements Prize {
    @Override
    public void award() {
        // 实现发放金额奖品的逻辑
    }
}

public class ItemPrize implements Prize {
    @Override
    public void award() {
        // 实现发放物品奖品的逻辑
    }
}

public class PrizeFactory {
    public Prize createPrize(String type) {
        if ("money".equalsIgnoreCase(type)) {
            return new MoneyPrize();
        } else if ("item".equalsIgnoreCase(type)) {
            return new ItemPrize();
        }
        // 可以添加更多类型的奖品
        return null;
    }
}

这段代码属于简单工厂模式(Simple Factory Pattern)。简单工厂模式是一种类创建型设计模式,它提供一个静态方法来创建对象,这个方法根据传入的参数来决定创建哪个类的实例。在这个例子中,PrizeFactory是工厂类,它根据字符串type来决定创建MoneyPrize或ItemPrize的实例。MoneyPrize和ItemPrize都实现了Prize接口,因此它们都是产品类。通过工厂方法createPrize(),客户端可以得到一个符合Prize接口的对象,而无需知道具体的实现类。 这段代码属于简单工厂模式。

相关推荐
数据中穿行1 小时前
迭代器设计模式全方位深度解析
设计模式
数据中穿行1 小时前
观察者设计模式全方位深度解析
设计模式
程序员Terry1 小时前
别老写重复代码了!模版方法模式一次讲透
java·设计模式
数据中穿行1 小时前
建造者模式全方位深度解析
设计模式
数据中穿行1 小时前
组合设计模式全方位深度解析
设计模式
数据中穿行1 小时前
原型设计模式全方位深度解析
设计模式
CRMEB3 小时前
电商项目中订单流程可以使用哪些设计模式?如何开发?
java·设计模式·gitee·开源·php·crmeb
逆境不可逃4 小时前
【从零入门23种设计模式19】行为型之观察者模式
java·开发语言·算法·观察者模式·leetcode·设计模式·动态规划
天若有情6734 小时前
C++设计模式:tur函数——让对象自我裁决的条件选择器
java·c++·设计模式
犬小哈15 小时前
面试官:设计模式的 7 大基本原则有哪些?
设计模式