java项目常用设计模式以及demo
时间: 2024-09-23 17:14:35 浏览: 17
Java项目中常用的设计模式有多种,它们在解决常见编程问题时提供了一种结构化和可复用的方式。以下是几种常见的设计模式及其简短的示例:
1. **工厂模式**:
- 示例:`ProductFactory` 类生成不同类型的 `Product`。
```java
interface Product {
void doSomething();
}
class ConcreteProductA implements Product {
public void doSomething() { ... }
}
class ConcreteProductB implements Product {
public void doSomething() { ... }
}
public class FactoryPattern {
public static Product getProduct(String type) {
if (type.equals("A")) return new ConcreteProductA();
else return new ConcreteProductB();
}
}
```
2. **单例模式**:
- 示例:保证全局只有一个 `DatabaseConnection` 实例。
```java
private static DatabaseConnection instance;
public static synchronized DatabaseConnection getInstance() {
if (instance == null) instance = new DatabaseConnection();
return instance;
}
```
3. **观察者模式**:
- 示例:`Subject` 和 `Observer` 接口,当 `Subject` 改变状态时通知所有 `Observer`。
```java
interface Subject {
void register(Observer observer);
void removeObserver(Observer observer);
void notifyObservers();
}
class ConcreteSubject implements Subject {
private List<Observer> observers = new ArrayList<>();
//...
public void stateChanged() {
notifyObservers();
}
}
interface Observer {
void update();
}
```
4. **适配器模式**:
- 示例:让不兼容的接口变得兼容。
```java
abstract class Target {
void request();
}
class Adaptee {
void specificRequest();
}
class Adapter extends Adaptee implements Target {
@Override
public void request() {
specificRequest();
}
}
```
每个设计模式都有其应用场景,通过合理运用这些模式,可以使代码更清晰、可维护性和扩展性更强。