设计模式之【工厂模式】

张开发
2026/4/13 7:43:15 15 分钟阅读

分享文章

设计模式之【工厂模式】
工厂模式Factory Pattern工厂模式是设计模式中创建型模式的核心代表核心思想是将对象的创建逻辑封装起来让调用方无需关注对象的具体创建细节比如 new 哪个子类、传什么参数只需要通过 “工厂” 获取对象即可。它主要分为 3 种核心形式从简单到复杂核心思想 解决的问题核心目的解耦对象创建逻辑比如判断条件、初始化参数和业务逻辑分离简化调用调用方只需告诉工厂 “要什么”不用自己 new 对象易扩展新增对象类型时只需修改工厂无需修改所有调用处符合 “开闭原则”。生活类比你去咖啡店买咖啡不用自己磨豆、煮咖啡不用关注对象创建细节只需告诉店员 “要拿铁”调用工厂店员工厂负责制作对应的咖啡创建对象新增 “美式咖啡” 时只需店员学做新咖啡修改工厂你只需说 “要美式” 即可调用方无感知。三种工厂模式的实现简单工厂模式静态工厂适用场景创建的对象类型少、逻辑简单是工厂模式的基础严格来说不算 GOF 标准设计模式但最常用。实现步骤定义产品接口 / 父类实现具体产品类编写工厂类提供静态方法根据参数创建对应产品对象。工厂方法模式适用场景产品类型多、需要频繁扩展比如新增咖啡类型时不想修改原工厂代码符合 “开闭原则”。实现步骤定义产品接口实现具体产品类定义工厂接口包含创建产品的抽象方法为每个产品实现对应的工厂类。抽象工厂模式适用场景需要创建 “产品族”一组相关产品比如咖啡店不仅卖咖啡还卖甜点咖啡 甜点组成一套套餐。实现步骤定义多个产品接口比如咖啡、甜点实现具体产品类拿铁 提拉米苏、美式 布朗尼定义抽象工厂接口包含创建所有产品的方法实现具体工厂类生产一套产品族。创建不同的数据库连接池涉及抽象工厂模式。

更多文章