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