当前位置: 首页> 科技> 数码 > 博客关键词优化_邮箱购买_深圳宝安seo外包_朝阳seo排名

博客关键词优化_邮箱购买_深圳宝安seo外包_朝阳seo排名

时间:2025/7/11 18:11:36来源:https://blog.csdn.net/m0_74606902/article/details/143971557 浏览次数:0次
博客关键词优化_邮箱购买_深圳宝安seo外包_朝阳seo排名

1.概念

由多个不同的工厂来替我们完成生产对象的操作,不同的工厂生产不同的对象

2.作用

不再会违背OCP原则,要添加新的产品类会相应添加对应的工厂类,不会修改到已有工厂的代码。
调用者不再关心产品的创建,实现职责分离

3.应用场景

对象的创建步骤比较复杂,可以用工厂来进行封装。
希望隐藏对象创建的具体实现
需要解耦对象的使用和创建过程

4.特点

对象的创建与使用代码解耦
使用工厂来获取对象,而不是构造器

5.类与对象关系

5.1类图

在这里插入图片描述

5.2说明

在工厂模式中我们会有四种角色:

  • 抽象产品:所有具体产品的接口,决定这些产品共有的特性或行为
  • 具体产品:具体的产品,就是我们客户端实际要使用的对象
  • 抽象工厂:所有工厂类的接口
  • 具体工厂:每个具体产品都有对应的具体工厂类

6.实现

// 抽象产品类
interface Vehicle {void drive();
}// 具体产品类:汽车
class Car implements Vehicle {@Overridepublic void drive() {System.out.println("Driving a car.");}
}// 具体产品类:自行车
class Bicycle implements Vehicle {@Overridepublic void drive() {System.out.println("Riding a bicycle.");}
}// 工厂类
class VehicleFactory {// 根据类型创建对应的交通工具对象public static Vehicle createVehicle(String type) {if (type.equals("car")) {return new Car();} else if (type.equals("bicycle")) {return new Bicycle();} else {throw new IllegalArgumentException("Unknown vehicle type: " + type);}}
}// 客户端代码
public class FactoryPatternDemo {public static void main(String[] args) {Vehicle car = VehicleFactory.createVehicle("car");car.drive();Vehicle bicycle = VehicleFactory.createVehicle("bicycle");bicycle.drive();}
}
关键字:博客关键词优化_邮箱购买_深圳宝安seo外包_朝阳seo排名

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: