首页 > 图灵资讯 > 技术篇>正文

菜鸟教程java常见的设计模式

2023-12-21 09:17:16

Java常见的设计模式

设计模式是解决常见问题的经验总结。在软件开发中,使用设计模式可以提高代码的可读性、可维护性和可扩展性。Java作为一种非常流行的编程语言,为开发人员提供了丰富的设计模式。

本文将介绍几种常见的Java设计模式,并提供相应的代码示例。

1. 单例模式

单例模式是一种只有一个例子的设计模式。在Java中,单例模式可以通过私有化构造函数和静态方法实现。

以下是实现单例模式的简单示例代码:

public class Singleton {    private static Singleton instance;    private Singleton() {}    public static Singleton getInstance() {        if (instance == null) {            instance = new Singleton();        }        return instance;    }}
2. 工厂模式

工厂模式是一种通过工厂类创建对象的设计模式。在Java中,可以根据不同的参数定义工厂类并创建不同的对象。

以下是一个简单的工厂模式实现的示例代码:

public interface Shape {    void draw();}public class Rectangle implements Shape {    @Override    public void draw() {        System.out.println("Drawing a rectangle");    }}public class Circle implements Shape {    @Override    public void draw() {        System.out.println("Drawing a circle");    }}public class ShapeFactory {    public Shape createShape(String shapeType) {        if (shapeType.equalsIgnoreCase("rectangle")) {            return new Rectangle();        } else if (shapeType.equalsIgnoreCase("circle")) {            return new Circle();        }        return null;    }}
3. 观察者模式

观察者模式是定义对象之间一对多依赖关系的设计模式。在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 NewsPublisher {    private List<Observer> observers = new ArrayList<>();    public void addObserver(Observer observer) {        observers.add(observer);    }    public void removeObserver(Observer observer) {        observers.remove(observer);    }    public void publish(String message) {        for (Observer observer : observers) {            observer.update(message);        }    }}
关系图

使用mermaid语法中的erdiagram标识关系图如下:

erDiagram    User ||--o{ NewsPublisher : observes    NewsPublisher ||--|| Observer : notifies
类图

使用mermaid语法中的clasdiagram标识类图如下:

classDiagram    class Singleton {        - instance: Singleton        + getInstance(): Singleton        - Singleton()    }    class Shape {        + draw()    }    class Rectangle {        + draw()    }    class Circle {        + draw()    }    class ShapeFactory {        + createShape(shapeType)    }    class Observer {        + update(message)    }    class User {        - name: String        + User(name)        + update(message)    }    class NewsPublisher {        - observers: List<Observer>        + addObserver(observer)        + removeObserver(observer)        + publish(message)    }    User ..> NewsPublisher : observes    NewsPublisher .. Observer : notifies

以上是对几种常见Java设计模式的简要介绍和代码示例。掌握这些设计模式可以帮助开发人员更好地编写可维护和可扩展的代码,并提高开发效率。虽然本文只介绍了几种常见的设计模式,但其他设计模式可以根据具体需要解决实际开发中的问题。我希望这篇文章能对你有所帮助!

上一篇 安卓 java 清空数组
下一篇 安卓取消java

文章素材均来源于网络,如有侵权,请联系管理员删除。