0. 策略模式Strategy
封装复杂的逻辑算法,用于重用。
1. UML图
[img]http://woniu1983.iteye.com/upload/picture/pic/66035/fb3002b1-a7dc-39ef-8561-137b2590deca.jpg[/img]
2. Caller 代码
3. 客户端代码
封装复杂的逻辑算法,用于重用。
1. UML图
[img]http://woniu1983.iteye.com/upload/picture/pic/66035/fb3002b1-a7dc-39ef-8561-137b2590deca.jpg[/img]
2. Caller 代码
public class Caller {
Stragety s;
public void Caller(final Strategy s1) {
this.s = s1;
}
public void callAlgorithm() {
s.algorithm();
}
}
3. 客户端代码
Strategy s = new StrategyA();
Caller call = new Caller(s);
call.callAlgorithm();