Java实现简单工厂模式:让你的代码更加优雅

2023-12-27 9阅读
2、优点及适用场景3、实现步骤4、Java实现简单工厂模式代码示例5、使用示例在软件开发中,本文将介绍使用Java实现简单工厂模式。
  • 本文目录导读:
  • 1、什么是简单工厂模式?
  • 2、优点及适用场景
  • 3、实现步骤
  • 4、Java实现简单工厂模式代码示例
  • 5、使用示例

在软件开发中,设计模式是提高代码质量和可维护性的重要方法之一。其中,简单工厂模式是最常见、最基础也最易理解的设计模式之一。本文将介绍使用Java实现简单工厂模式。

Java实现简单工厂模式:让你的代码更加优雅

什么是简单工厂模式?

简单工厂(Simple Factory)又称为静态工厂方法(Static Factory Method),它属于创建型设计模式。通俗来说,就是通过一个类来创建不同类对象的实例化过程。

举个例子:假如有多个形状需要被画出来,比如圆形、正方形、三角形等等。如果每次都使用new关键字去创建这些对象,则会使得代码非常冗长而且难以管理。此时我们可以采用“专门制造汽车”的方式——即定义一个ShapeFactory类,在该类中封装了所有与对象创建相关的逻辑,并根据传入参数类型返回特定类型对象。

优点及适用场景

- 降低耦合度

- 提高扩展性

Java实现简单工厂模式:让你的代码更加优雅

- 隐藏具体产品

- 对客户端隐藏具体产品构造细节

适用场景:

1. 工厂类负责创建的对象比较少;

2. 客户端只知道传入工厂类的参数,对于如何创建对象不关心。

实现步骤

1. 创建抽象接口或者抽象类

2. 创建具体产品类并继承自抽象接口或者抽象类

3. 创建工厂方法来生成具体产品的对象

Java实现简单工厂模式代码示例

下面是一个使用Java语言实现简单工厂模式的示例代码:

```

// 抽象接口:形状 Shape

public interface Shape {

void draw(); // 画图形

}

// 具体产品类:圆形 Circle

public class Circle implements Shape {

@Override

public void draw() {

System.out.println("画了一个圆形");

}

// 具体产品类:正方形 Square

public class Square implements Shape {

System.out.println("画了一个正方形");

// 工厂方法:ShapeFactory

public class ShapeFactory {

// 根据传入参数类型返回特定类型对象。

public static Shape getShape(String shapeType){

if(shapeType == null){

return null;

}

if(shapeType.equalsIgnoreCase("CIRCLE")){

return new Circle();

} else if(shapeType.equalsIgnoreCase("SQUARE")){

return new Square();

} else{

}

}

上述代码中,我们定义了三份文件分别为Shape、Circle和Square。其中,Shape是抽象接口,Circle和Square是具体产品类。另外,我们还定义了一家工厂方法ShapeFactory,用于根据传入参数类型返回特定类型对象。

使用示例

下面是一个使用Java实现简单工厂模式的示例代码:

public class SimpleFactoryDemo {

public static void main(String[] args) {

Shape circle = ShapeFactory.getShape("CIRCLE");

circle.draw();

Shape square = ShapeFactory.getShape("SQUARE");

square.draw();

在上述代码中,我们通过调用getShape()方法来获取圆形和正方形对象,并分别调用它们的draw()方法进行绘图操作。

简单工厂模式在软件开发中应用广泛且易理解。本文介绍了Java语言实现简单工厂模式的基本流程及其优点和适用场景,并提供了相应的示例代码。希望读者能够掌握该设计模式并将其运用到自己的项目中去,使得代码更加优雅、易于管理以及可扩展性更强。

文章版权声明:除非注明,否则均为游侠云资讯原创文章,转载或复制请以超链接形式并注明出处。

目录[+]