java设计模式 例子
时间: 2024-12-25 08:13:36 浏览: 14
Java设计模式是一种在软件设计中常用的最佳实践,它解决的是在常见问题上反复出现的解决方案。这些模式描述了如何以一种既有效又优雅的方式组织代码,提高代码的可读性和维护性。以下是几个常见的Java设计模式及其例子:
1. **工厂模式**:创建一系列相关或相互依赖的对象,而无需指定它们具体的类。例如,`ProductFactory` 创建不同类型的 `Car` 对象。
```java
interface Car {
void drive();
}
class BMW implements Car {
public void drive() {
System.out.println("Driving a BMW");
}
}
class FactoryMethod {
static Car createCar(String brand) {
if (brand.equals("BMW")) {
return new BMW();
} else {
// 其他品牌汽车实现...
}
}
}
```
2. **单例模式**:保证一个类只有一个实例,并提供全局访问点。例如,创建一个线程池:
```java
public class SingletonThreadPool {
private static SingletonThreadPool instance;
private SingletonThreadPool() {}
public static synchronized SingletonThreadPool getInstance() {
if (instance == null) {
instance = new SingletonThreadPool();
}
return instance;
}
// 线程池操作...
}
```
3. **观察者模式**:主题和多个观察者之间的一对多关系,当主题状态改变时通知所有观察者。如股票价格变化通知订阅者:
```java
interface Observer {
void update(float price);
}
class StockPrice {
private List<Observer> observers = new ArrayList<>();
public void addObserver(Observer observer) {
observers.add(observer);
}
public void removeObserver(Observer observer) {
observers.remove(observer);
}
public void setPrice(float price) {
// 更新价格并通知观察者
for (Observer o : observers) {
o.update(price);
}
}
}
```
阅读全文