首页后端开发JAVAjava常见的设计模式和场景

java常见的设计模式和场景

时间2023-10-21 18:35:02发布访客分类JAVA浏览658
导读:Java语言是一种广泛应用于企业级应用的编程语言,它具有丰富的类库和强大的面向对象特性。而在 Java 世界中,设计模式则是一种经典的编程思想,通过应用设计模式可以将程序中重复的代码剥离出来,使代码更易于维护和扩展,并增强程序的可复用性和可...

Java语言是一种广泛应用于企业级应用的编程语言,它具有丰富的类库和强大的面向对象特性。而在 Java 世界中,设计模式则是一种经典的编程思想,通过应用设计模式可以将程序中重复的代码剥离出来,使代码更易于维护和扩展,并增强程序的可复用性和可读性。

下面我们来看看 Java 中常见的设计模式及其运用场景:

单例模式

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

单例模式保证一个类只有一个实例,并提供一个全局访问点。在需要管理一些唯一资源(比如配置文件,数据库连接等)的场景下,单例模式可以避免重复创建实例和浪费资源的问题。

工厂模式

public interface Shape {
    void draw();
}
public class Circle implements Shape {
@Overridepublic void draw() {
    System.out.println("I'm a circle");
}
}
public class Rectangle implements Shape {
@Overridepublic void draw() {
    System.out.println("I'm a rectangle");
}
}
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;
}
}

工厂模式根据不同的条件创建不同的对象,将对象的创建和使用分离开来,避免了类与类之间的耦合。在需要大量对象创建的场景下(比如商品或者订单等),工厂模式可以提高代码的可复用性和灵活性。

观察者模式

public interface Observer {
    void update(String message);
}
public interface Subject {
    void attach(Observer observer);
    void detach(Observer observer);
    void notifyObservers();
}
public class MessagePublisher implements Subject {
    private Listobservers = new ArrayList();
@Overridepublic void attach(Observer observer) {
    observers.add(observer);
}
@Overridepublic void detach(Observer observer) {
    observers.remove(observer);
}
@Overridepublic void notifyObservers() {
    observers.forEach(observer ->
    observer.update("New message published."));
}
}
public class MessageSubscriber implements Observer {
    private String name;
public MessageSubscriber(String name) {
    this.name = name;
}
@Overridepublic void update(String message) {
    System.out.printf("%s received message: %s\n", name, message);
}
}
    

观察者模式定义了一种一对多的依赖关系,多个观察者对象同时监听某一个主题对象的状态变化。在需要多个对象协同工作的场景下(比如新闻发布和订阅系统等),观察者模式可以提高代码的可扩展性和灵活性。

以上是 Java 中常见的设计模式及其运用场景,每种设计模式都有其独特的特点,需要根据具体的场景来选择合适的设计模式。通过运用设计模式,可以使我们的程序变得更加优雅和简洁。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: java常见的设计模式和场景
本文地址: https://pptw.com/jishu/504794.html
Java常用数据结构和算法总结 java布尔和与或非

游客 回复需填写必要信息