【设计模式】简单工厂模式(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接口的对象,而无需知道具体的实现类。 这段代码属于简单工厂模式。

相关推荐
小蜗牛在漫步29 分钟前
23种设计模式-Proxy模式
设计模式·代理模式
易元3 小时前
模式组合应用-装饰器模式
后端·设计模式
宁静致远20214 小时前
【C++设计模式】第二篇:策略模式(Strategy)--从基本介绍,内部原理、应用场景、使用方法,常见问题和解决方案进行深度解析
c++·设计模式·策略模式
CHANG_THE_WORLD5 小时前
C++ 并发编程指南 并发设计模式:Actor vs. CSP (生活场景版)
c++·设计模式·生活
零千叶6 小时前
【面试】AI大模型应用原理面试题
java·设计模式·面试
烛阴16 小时前
【TS 设计模式完全指南】从“入门”到“劝退”,彻底搞懂单例模式
javascript·设计模式·typescript
Meteors.17 小时前
23种设计模式——原型模式 (Prototype Pattern)详解
设计模式·原型模式
摘星编程1 天前
CodeBuddy 辅助重构:去掉 800 行 if-else 的状态机改造
设计模式·代码重构·技术债务·codebuddy·状态机模式
Meteors.1 天前
23种设计模式——策略模式 (Strategy Pattern)详解
设计模式·策略模式