理解简单工厂模式:创建对象的接口与示例

需积分: 34 474 下载量 199 浏览量 更新于2024-08-10 收藏 1.31MB PDF 举报
"本文主要介绍了简单工厂模式在Java中的应用,以及如何在Vue中不通过路由直接获取URL中的参数。文章以生动的故事引入,通过解释一个暴发户坐车的例子来展示面向对象设计中常见的问题,并说明如何用工厂模式解决。文章详细分析了简单工厂模式的三个关键角色:工厂类、抽象产品和具体产品,并提供了类图进行说明。此外,提到了设计模式的分类,包括静态工厂方法模式、工厂方法模式和抽象工厂模式。" 在软件开发中,工厂模式是一种常用的设计模式,主要用于创建对象。简单工厂模式,也称为静态工厂方法模式,其主要目标是定义一个创建对象的接口,以隔离客户端代码与实际创建对象的代码。在这个模式中,工厂类负责根据特定条件创建对象,而客户端只需调用工厂方法即可得到所需对象,无需关心对象是如何被创建的。 1) **工厂类角色**:这个角色是模式的核心,它包含了业务逻辑和判断逻辑。在Java中,通常由一个具体的类实现。例如,对于暴发户坐车的例子,工厂类可以包含一个方法,根据输入的车辆类型创建相应的司机对象。 2) **抽象产品角色**:抽象产品通常是具体产品类的父类或实现的接口,提供了一组统一的接口或方法。在Java中,这可以由接口或抽象类实现。在这个例子中,抽象产品可能是所有司机类都继承的一个公共接口或抽象类。 3) **具体产品角色**:工厂类创建的对象,即实际被客户端使用的实例。在Java中,这是通过具体类实现的。对应于故事中的BenzDriver、BmwDriver和AudiDriver等类。 在Vue中,如果不通过路由获取URL参数,可以通过`window.location.search`来获取URL查询字符串,然后使用JavaScript的`URLSearchParams` API解析参数。例如: ```javascript const urlParams = new URLSearchParams(window.location.search); const paramValue = urlParams.get('paramName'); ``` 这样,就可以在不依赖Vue Router的情况下获取到URL中的参数值。 简单工厂模式提供了一种灵活的方式来创建对象,而Vue中获取URL参数则是前端开发中的常见需求。理解并恰当使用这些技术可以提升代码的可维护性和扩展性。