spring 框架中广泛应用以下设计模式:单例模式用于创建唯一对象实例;工厂模式用于创建对象而不指定具体类;策略模式用于封装算法或行为;观察者模式允许对象订阅并响应事件。 本文来自zvvq
zvvq
Spring 框架中设计模式的应用
在 Spring 框架中,设计模式广泛应用于:
单例模式 内容来自zvvq
用于创建唯一对象实例: zvvq好,好zvvq
内容来自samhan
1
zvvq.cn
2
3 本文来自zvvq
4 内容来自zvvq
5 本文来自zvvq
6 内容来自samhan666
7 zvvq好,好zvvq
8
copyright zvvq
9 内容来自zvvq
10
内容来自zvvq,别采集哟
@Service
内容来自zvvq
public class MyService {
@Autowired
private static MyService instance;
public static MyService getInstance() { 内容来自zvvq
return instance;
zvvq.cn
}
} copyright zvvq
工厂模式 内容来自zvvq
创建对象而不指定其具体类: copyright zvvq
1 zvvq.cn
2
内容来自zvvq,别采集哟
3 内容来自zvvq
4 本文来自zvvq
5 zvvq好,好zvvq
6 zvvq好,好zvvq
7 zvvq好,好zvvq
8 zvvq.cn
9
copyright zvvq
10 内容来自zvvq
11
内容来自samhan666
12
13
内容来自zvvq,别采集哟
14
15
16
内容来自samhan
17 内容来自samhan
interface MyFactory { zvvq.cn
MyObject create();
内容来自zvvq,别采集哟
} zvvq
class MyConcreteFactory implements MyFactory {
内容来自samhan666
@Override 内容来自samhan666
public MyObject create() {
return new MyConcreteObject();
内容来自samhan666
} zvvq.cn
} copyright zvvq
class MyApplication { copyright zvvq
public static void main(String[] args) { zvvq
MyFactory factory = new MyConcreteFactory();
MyObject object = factory.create(); 本文来自zvvq
} 本文来自zvvq
} copyright zvvq
策略模式 zvvq好,好zvvq
封装算法或行为:
1 内容来自samhan
2 内容来自zvvq,别采集哟
3 内容来自samhan666
4
5
zvvq好,好zvvq
6 内容来自zvvq
7
本文来自zvvq
8 内容来自samhan
9 内容来自zvvq
10
zvvq.cn
11
copyright zvvq
12 zvvq好,好zvvq
13 内容来自zvvq,别采集哟
14
内容来自samhan666
15
本文来自zvvq
16
17
18
内容来自samhan666
19 内容来自samhan666
20
21 内容来自samhan666
22 zvvq.cn
23 zvvq.cn
24
25 内容来自samhan666
26
内容来自samhan
27 内容来自zvvq
28 内容来自samhan
29 zvvq.cn
interface MyStrategy {
void execute(); 内容来自samhan
}
zvvq好,好zvvq
class MyConcreteStrategy1 implements MyStrategy { 内容来自zvvq
@Override
zvvq.cn
public void execute() {
copyright zvvq
// 执行策略1逻辑 本文来自zvvq
}
} 内容来自samhan
class MyConcreteStrategy2 implements MyStrategy { 内容来自samhan
@Override 内容来自zvvq
public void execute() { copyright zvvq
// 执行策略2逻辑 copyright zvvq
} 内容来自samhan666
}
copyright zvvq
class MyClient {
zvvq
private MyStrategy strategy;
public void setStrategy(MyStrategy strategy) { 内容来自samhan666
this.strategy = strategy;
} 内容来自samhan
public void executeStrategy() {
zvvq
strategy.execute(); zvvq.cn
} zvvq好,好zvvq
}
观察者模式
允许对象订阅并响应事件: zvvq
1 zvvq好,好zvvq
2 zvvq好,好zvvq
3 zvvq
4 zvvq
5
6
内容来自samhan666
7
8 内容来自zvvq
9
10 zvvq
11 copyright zvvq
12
内容来自zvvq
13
zvvq好,好zvvq
14 内容来自samhan666
15
16 copyright zvvq
17
内容来自zvvq,别采集哟
18 copyright zvvq
19
20 本文来自zvvq
21 copyright zvvq
22 内容来自samhan666
23
copyright zvvq
24 内容来自samhan666
25 本文来自zvvq
26
27 zvvq好,好zvvq
28
29
zvvq.cn
30
内容来自zvvq
interface MySubject {
void registerObserver(MyObserver observer);
void removeObserver(MyObserver observer);
内容来自samhan666
void notifyObservers(); 内容来自zvvq,别采集哟
} zvvq
interface MyObserver { 本文来自zvvq
void update(MySubject subject);
内容来自samhan666
} zvvq
class MyConcreteSubject implements MySubject { zvvq.cn
private List<MyObserver> observers = new ArrayList<>();
本文来自zvvq
@Override copyright zvvq
public void registerObserver(MyObserver observer) { 内容来自samhan666
observers.add(observer); 内容来自samhan666
}
@Override
内容来自zvvq
public void removeObserver(MyObserver observer) {
内容来自zvvq,别采集哟
observers.remove(observer);
内容来自zvvq,别采集哟
}
@Override
public void notifyObservers() { 本文来自zvvq
for (MyObserver observer : observers) {
observer.update(this); 本文来自zvvq
} copyright zvvq
} 本文来自zvvq
}
内容来自samhan
以上就是特定Java框架(如Spring/Hibernate)中的设计模式应用的详细内容,更多请关注其它相关文章!