21xrx.com
2025-04-22 01:57:42 Tuesday
文章检索 我的文章 写文章
从零开始学习Java设计模式及应用案例
2023-06-12 03:44:01 深夜i     17     0
Java 设计模式 应用案例

Java设计模式是软件开发中非常重要的一部分,它能够帮助开发人员更好地设计和构建软件系统,促进代码的可重用性和可维护性。本文将介绍Java中常用的23种设计模式,并结合实际案例进行分析和应用。

1. 单例模式

单例模式是一种创建型模式,它保证一个类只有一个实例,并提供了访问该实例的全局访问点。在Java开发中,单例模式非常常用,尤其是在需要保证系统性能和数据一致性的场景下。

下面是一个基于饿汉式的单例模式的代码实现:

public class Singleton {
  private static final Singleton instance = new Singleton();
  private Singleton() {}
  public static Singleton getInstance()
    return instance;
  
}

2. 工厂模式

工厂模式是一种创建型模式,它提供了一种创建对象的最佳方式,而无需暴露对象的创建逻辑。在Java中,工厂模式可以分为简单工厂模式、工厂方法模式和抽象工厂模式三种。

下面是一个基于工厂方法模式的代码实现:

public interface Product {
  void show();
}
public class ConcreteProduct implements Product {
  @Override
  public void show() {
    System.out.println("This is a Concrete Product");
  }
}
public interface Factory {
  Product createProduct();
}
public class ConcreteFactory implements Factory {
  @Override
  public Product createProduct() {
    return new ConcreteProduct();
  }
}

3. 观察者模式

观察者模式是一种行为型模式,它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象。当主题对象发生变化时,方便地通知所有的观察者对象,使它们自动更新自己。

下面是一个基于观察者模式的代码实现:

public interface Observer {
  public void update();
}
public interface Subject {
  public void attach(Observer observer);
  public void detach(Observer observer);
  public void notifyObservers();
}
public class ConcreteObserver implements Observer {
  public void update() {
    System.out.println("观察者收到消息并进行更新");
  }
}
public class ConcreteSubject implements Subject {
  private List
  observers = new ArrayList 
  
   ();
  
 
  public void attach(Observer observer) {
    observers.add(observer);
  }
  public void detach(Observer observer) {
    observers.remove(observer);
  }
  public void notifyObservers() {
    for (Observer observer : observers) {
      observer.update();
    }
  }
}

  
  

评论区