21xrx.com
2024-11-22 11:46:18 Friday
登录
文章检索 我的文章 写文章
从零开始学习Java设计模式及应用案例
2023-06-12 03:44:01 深夜i     --     --
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();

    }

  }

}

  
  

评论区

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