工厂模式 - 创建
一、概述
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
主要解决:主要解决接口选择的问题。
何时使用:我们明确地计划不同条件下创建不同实例时。
二、使用
示例:
package pattern.factory; /** * 工厂模式 * @author zls * @date 2020/3/27 */ public class FactoryTest { public static void main(String[] args) { CarFactory carFactory = new CarFactory(); // 从工厂中获取不同类型的对象 Car benz = carFactory.getCar("benz"); Car bmw = carFactory.getCar("bmw"); benz.run(); bmw.run(); } } /** * 公共接口 */ interface Car { void run(); } class Benz implements Car { @Override public void run() { System.out.println("大奔跑得快..."); } } class Bmw implements Car { @Override public void run() { System.out.println("宝马跑得稳..."); } } /** * 核心: * 创建一个工厂,生成基于给定信息的实体类的对象。 */ class CarFactory { public Car getCar(String type) { if (type.equalsIgnoreCase("benz")) { return new Benz(); } else if (type.equalsIgnoreCase("bmw")) { return new Bmw(); } return null; } }
参考:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现