admin 管理员组

文章数量: 887021


2023年12月22日发(作者:easyui软件学习心得)

java常用的设计模式及代码实现

Java是一种广泛使用的编程语言,它提供了许多设计模式来解决不同的软件设计问题。设计模式是一些通用的解决方案,可以在软件开发中重复使用。本文将介绍一些常用的Java设计模式,并提供相应的代码实现。

一、单例模式

单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点。单例模式通常用于管理共享资源,例如数据库连接池或线程池。下面是一个单例模式的代码实现:

```java

public class Singleton {

private static Singleton instance;

private Singleton() {

// 私有构造方法,防止外部实例化

}

public static Singleton getInstance() {

if (instance == null) {

synchronized () {

if (instance == null) {

instance = new Singleton();

}

}

}

return instance;

}

}

```

二、工厂模式

工厂模式是一种创建型设计模式,它提供了一种将对象的创建与使用分离的方法。工厂模式可以根据不同的条件创建不同的对象,而不需要在代码中直接实例化对象。下面是一个工厂模式的代码实现:

```java

public interface Shape {

void draw();

}

public class Circle implements Shape {

@Override

public void draw() {

n("绘制圆形");

}

}

public class Rectangle implements Shape {

@Override

public void draw() {

n("绘制矩形");

}

}

public class ShapeFactory {

public static Shape createShape(String type) {

if (("circle")) {

return new Circle();

} else if (("rectangle")) {

return new Rectangle();

}

return null;

}

}

```

三、观察者模式

观察者模式是一种行为型设计模式,它定义了一种一对多的依赖关系,使得多个观察者对象同时监听某一个主题对象。主题对象在状态发生变化时,会通知所有的观察者对象进行更新。下面是一个观

察者模式的代码实现:

```java

public interface Observer {

void update(String message);

}

public class User implements Observer {

private String name;

public User(String name) {

= name;

}

@Override

public void update(String message) {

n(name + " 收到消息: }

}

public interface Subject {

void addObserver(Observer observer);

void removeObserver(Observer observer);

void notifyObservers(String message);

}

" + message);

public class WeChat implements Subject {

private List observers = new ArrayList<>();

@Override

public void addObserver(Observer observer) {

(observer);

}

@Override

public void removeObserver(Observer observer) {

(observer);

}

@Override

public void notifyObservers(String message) {

for (Observer observer : observers) {

(message);

}

}

}

```

以上是三种常用的Java设计模式及其相应的代码实现。单例模式用于确保类只有一个实例;工厂模式用于根据不同条件创建对象;观

察者模式用于实现一对多的依赖关系。这些设计模式可以帮助我们更好地组织和管理代码,提高代码的可维护性和可扩展性。在实际的软件开发中,我们可以根据具体的需求选择合适的设计模式来解决问题。


本文标签: 模式 设计模式 代码