摘要:,,本文介绍了Java中常用的设计模式及其代码实现。文章详细阐述了各种设计模式的原理和应用场景,包括工厂模式、单例模式、适配器模式、观察者模式、策略模式等。通过实例演示了如何在Java中使用这些设计模式,以提高代码的可维护性、灵活性和可扩展性。本文旨在为Java开发人员提供实用的设计模式知识和技巧,以优化软件设计。

二、单例模式(Singleton Pattern)

单例模式是一种创建型设计模式,它保证一个类只有一个实例,并提供一个全局访问点,在Java中,可以通过饿汉式、懒汉式等方式实现单例模式,以下是懒汉式的代码实现:

public class Singleton {
    private static Singleton instance;
    private Singleton() {} // 私有构造函数,防止外部直接创建对象
    public static synchronized Singleton getInstance() { // 使用同步方法确保线程安全
        if (instance == null) {
            instance = new Singleton(); // 第一次检查实例是否存在,如果不存在才进行创建实例的操作
        }
        return instance; // 返回该单例实例对象
    }
}

三、工厂模式(Factory Pattern)

工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式,在Java中,可以通过简单工厂模式、工厂方法和抽象工厂等实现方式,以下是简单工厂模式的代码实现:

public class SimpleFactory {
    public static Object createObject(String type) { // 根据传入的类型参数创建并返回相应的对象实例
        if (type.equalsIgnoreCase("A")) { // 如果是类型A则创建并返回类型A的对象实例
            return new A(); 
        } else if (type.equalsIgnoreCase("B")) { // 如果是类型B则创建并返回类型B的对象实例
            return new B(); 
        } else { // 如果都不是则抛出异常信息提示用户输入的类型不合法并抛出异常信息提示用户输入的类型不合法并抛出异常信息提示用户输入的类型不合法抛出异常信息提示用户输入的类型不合法抛出异常信息提示用户输入的类型不合法抛出异常信息提示用户输入的类型不合法抛出异常信息提示用户输入的类型不合法抛出异常信息提示用户输入的类型不合法并抛出异常信息抛出异常信息抛出异常信息抛出异常信息抛出异常信息)抛出异常信息抛出异常信息)抛出异常信息)抛出异常信息)抛出异常信息)抛出异常信息)throw new IllegalArgumentException("Invalid type"); // 提示用户输入的类型不合法并抛出异常信息提示用户输入的类型不合法并抛出异常信息提示用户输入的类型不合法并抛出异常信息提示用户输入的类型不合法。 } } } } } } } } } } } } } } } } } } } } } } } } } } 四、建造者模式(Builder Pattern)建造者模式是一种创建型设计模式,它允许复杂对象的构建与其表示分离,在Java中,可以通过使用建造者类实现建造者模式,以下是建造者模式的代码实现示例: class Director { public Product buildProduct() { Builder builder = new Builder(); return builder.build(); } } class Builder { private Product product = new Product(); public Builder() {} public Builder setPropertyA(String propertyA) { product.setPropertyA(propertyA); return this; // 返回当前建造者对象实例以便于进行链式调用 } public Builder setPropertyB(String propertyB) { product.setPropertyB(propertyB); return this; // 返回当前建造者对象实例以便于进行链式调用 } public Product build() { return product; // 返回最终构建完成的产品对象实例 } } class Product { private String propertyA; private String propertyB; public void setPropertyA(String propertyA) { this.propertyA = propertyA; } public void setPropertyB(String propertyB) { this.propertyB = propertyB; } public void displayProductInfo() { System.out.println("Product对象创建成功!"); System.out.println("Product对象状态信息展示成功!"); } 通过使用建造者模式,我们可以将复杂对象的构建过程拆分成多个简单的步骤,使得代码更加清晰易懂,易于维护,观察者模式(Observer Pattern)观察者模式是一种行为型设计模式,它允许对象之间建立一种订阅关系,一旦所订阅的事件发生,则相应通知所有订阅者,在Java中,可以通过实现观察者接口或使用Java自带的观察者接口实现观察者模式,以下是使用Java自带的观察者接口的代码实现示例: Observable observable = new Observable(); Observer observer = new Observer() { public void update(Observable o, Object arg) { System.out.println("观察者收到通知:" + arg); // 输出观察者收到的通知内容 } }; observable.addObserver(observer); // 将观察者添加到被观察对象中 observable.notifyObservers("事件发生了!"); // 发生事件时通知所有观察者六、策略模式(Strategy Pattern)策略模式是一种行为型设计模式,它定义了一系列可以互相替换的算法,并使得算法的选择与使用相互独立,在Java中,可以通过接口和实现类的方式实现策略模式,以下是策略模式的代码实现示例: interface Strategy { void execute(); // 定义执行策略的接口

Java中常用设计模式的代码实现 常用的设计模式java 1

声明:本站所有文章均摘自网络。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。