21xrx.com
2024-09-19 08:17:08 Thursday
登录
文章检索 我的文章 写文章
《Java设计模式及其实践》:实战示例详解
2023-06-15 15:15:08 深夜i     --     --
Java 设计模式 实战

Java 是一个非常强大的编程语言,在软件开发中应用广泛。在复杂系统开发中,设计模式是编写高质量、可重用和易于维护的代码的重要方法之一。本文将介绍 Java 设计模式的基础知识,通过实战案例详解设计模式的应用。

1. 单例模式

单例模式是一种创建型设计模式,它确保类只有一个实例,并提供全局访问点。在Java中,通过私有构造函数和一个静态方法来实现单例模式。

代码示例:


public class Singleton {

  private static Singleton instance = null;

  private Singleton() {}

  public static Singleton getInstance() {

    if (instance == null) {

      instance = new Singleton();

    }

    return instance;

  }

}

2. 工厂模式

工厂模式是一种创建型设计模式,它提供了统一的接口来创建对象,而不必指定其具体类。 Java 中的工厂模式非常常见,一般分为工厂方法模式和抽象工厂模式。

代码示例:


public interface Shape {

  void draw();

}

public class Circle implements Shape {

  @Override

  public void draw() {

    System.out.println("Inside Circle::draw() method.");

  }

}

public class Rectangle implements Shape {

  @Override

  public void draw() {

    System.out.println("Inside Rectangle::draw() method.");

  }

}

public class ShapeFactory {

  public Shape getShape(String shapeType){

    if(shapeType == null)

      return null;

        

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

      return new Circle();

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

      return new Rectangle();

    }

    return null;

  }

}

3. 模板方法模式

模板方法模式是一种行为型设计模式,它定义了一组算法的框架,允许子类在不改变算法结构的情况下重写算法的特定步骤。 Java 中,可以使用抽象类和模板方法来实现模板方法模式。

代码示例:


public abstract class Game {

  abstract void initialize();

  abstract void startPlay();

  abstract void endPlay();

  public final void play(){

    initialize();

    startPlay();

    endPlay();

  }

}

public class Cricket extends Game {

  @Override

  void endPlay() {

    System.out.println("Cricket Game Finished!");

  }

  @Override

  void initialize() {

    System.out.println("Cricket Game Initialized! Start playing.");

  }

  @Override

  void startPlay() {

    System.out.println("Cricket Game Started. Enjoy the game!");

  }

}

public class Football extends Game {

  @Override

  void endPlay() {

    System.out.println("Football Game Finished!");

  }

  @Override

  void initialize() {

    System.out.println("Football Game Initialized! Start playing.");

  }

  @Override

  void startPlay() {

    System.out.println("Football Game Started. Enjoy the game!");

  }

}

通过以上案例的介绍,可以看出Java的应用设计模式是非常丰富和实用的。在实际开发中,合适的应用设计模式,会使应用程序更加可靠,可扩展,更易于维护。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复