Java中的设计模式及其应用篇
设计模式是软件开发中的重要概念,它们提供了在特定情况下解决问题的一种解决方案。Java作为一门广泛应用于软件开发领域的编程语言,也广泛应用了各种设计模式。本文将介绍Java中常用的设计模式以及它们的应用。
一、单例模式
单例模式是最简单的设计模式之一,它保证一个类只能创建一个实例,并提供一个全局访问点。在Java中,可以使用以下方式实现单例模式:
```java
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
```
应用场景:在需要确保只有一个实例存在的情况下使用单例模式,如线程池、数据库连接池等。
二、工厂模式
工厂模式是一种创建型设计模式,它提供了一种创建对象的方式,隐藏了具体对象的创建逻
辑。在Java中,可以使用以下方式实现工厂模式:
```java
java单例模式懒汉和饿汉public interface Shape {
void draw();
}
public class Rectangle implements Shape {
@Override
public void draw() {
System.out.println("画一个矩形");
}
}
public class Circle implements Shape {
@Override
public void draw() {
System.out.println("画一个圆形");
}
}
public class ShapeFactory {
public Shape getShape(String shapeType) {
if (shapeType.equalsIgnoreCase("Rectangle")) {
return new Rectangle();
} else if (shapeType.equalsIgnoreCase("Circle")) {
return new Circle();
}
return null;
}
}
```
应用场景:当需要根据不同的条件创建不同的对象时使用工厂模式。
三、观察者模式
观察者模式是一种行为型设计模式,它定义了一种一对多的依赖关系,使得多个观察者对象同时监听某一个主题对象,当主题对象发生变化时,观察者对象会收到通知并进行相应的处理。在Java中,可以使用以下方式实现观察者模式:
```java
import java.util.ArrayList;
import java.util.List;
public class Subject {
private List<Observer> observers = new ArrayList<>();
private int state;
public int getState() {
return state;
}
public void setState(int state) {
this.state = state;
notifyAllObservers();
}
public void attach(Observer observer) {
observers.add(observer);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论