当前位置:实例文章 » C#开发实例» [文章]Java设计模式

Java设计模式

发布人:shili8 发布时间:2023-07-05 08:18 阅读次数:38

设计模式是一种解决特定问题的经验总结,它提供了一套可复用的解决方案,帮助开发人员更好地组织和设计代码。Java设计模式是指在Java语言中常用的设计模式,下面将介绍几种常见的Java设计模式,并提供相应的代码示例和注释。

1. 单例模式(Singleton Pattern)
单例模式用于确保一个类只有一个实例,并提供一个全局访问点。在Java中,可以通过私有化构造方法和静态方法来实现单例模式。

java
public class Singleton {
    private static Singleton instance;

    private Singleton() {
        // 私有化构造方法
    }

    public static Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}


2. 工厂模式(Factory Pattern)
工厂模式用于创建对象,将对象的创建过程封装在一个工厂类中,客户端只需要通过工厂类来创建对象,而不需要直接调用对象的构造方法。

java
public interface Shape {
    void draw();
}

public class Circle implements Shape {
    @Override
    public void draw() {
        System.out.println(Drawing a circle);
    }
}

public class Rectangle implements Shape {
    @Override
    public void draw() {
        System.out.println(Drawing a rectangle);
    }
}

public class ShapeFactory {
    public Shape createShape(String type) {
        if (type.equalsIgnoreCase(circle)) {
            return new Circle();
        } else if (type.equalsIgnoreCase(rectangle)) {
            return new Rectangle();
        }
        return null;
    }
}


3. 观察者模式(Observer Pattern)
观察者模式用于实现对象之间的一对多依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都会得到通知并自动更新。

java
import java.util.ArrayList;
import java.util.List;

public interface Observer {
    void update(String message);
}

public class User implements Observer {
    private String name;

    public User(String name) {
        this.name = name;
    }

    @Override
    public void update(String message) {
        System.out.println(name +  received a message:  + message);
    }
}

public class 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(String message) {
        for (Observer observer : observers) {
            observer.update(message);
        }
    }
}

public class Main {
    public static void main(String[] args) {
        Subject subject = new Subject();
        User user1 = new User(User1);
        User user2 = new User(User2);
        subject.attach(user1);
        subject.attach(user2);
        subject.notifyObservers(Hello world!);
    }
}


以上是几种常见的Java设计模式的示例和注释。设计模式可以帮助开发人员更好地组织和设计代码,提高代码的可读性、可维护性和可扩展性。在实际开发中,根据具体的需求选择合适的设计模式可以提高开发效率和代码质量。

相关标签:c#jvm算法c++java
其他信息

其他资源

Top