策略模式

设计模式的意义在于:面向业务内容、业务数据结构和系统架构,高内聚低耦合、优雅的将平面逻辑立体化。

 1 package designPattern;
 2 
 3 /**
 4  * 策略模式
 5  * @author Administrator
 6  */
 7 public class C23_StrategyTest {
 8 
 9     /**
10      * 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。
11      * 本模式使得算法可独立于使用它的客户而变化
12      */
13     public static void main(String[] args) {
14         Strategy a = new StrategyImplA();
15         Strategy b = new StrategyImplB();
16         Strategy c = new StrategyImplC();
17         Context2 con = new Context2(a);
18         con.doMethod();
19         con = new Context2(b);
20         con.doMethod();
21         con = new Context2(c);
22         con.doMethod();
23     }
24 }
25 //strategy
26 abstract class Strategy {
27 
28     public abstract void method();
29 }
30 //concreteStrategy
31 class StrategyImplA extends Strategy {
32 
33     public void method() {
34         System.out.println("这是第一个实现");
35     }
36 }
37 class StrategyImplB extends Strategy {
38 
39     public void method() {
40         System.out.println("这是第二个实现");
41     }
42 }
43 class StrategyImplC extends Strategy {
44 
45     public void method() {
46         System.out.println("这是第三个实现");
47     }
48 }
49 //context
50 class Context2 {
51 
52     Strategy stra;
53     
54     public Context2(Strategy stra) {
55         this.stra = stra;
56     }
57     
58     public void doMethod() {
59         stra.method();
60     }
61 }

环境:JDK1.6,MAVEN,tomcat,eclipse

源码地址:http://files.cnblogs.com/files/xiluhua/designPattern.rar

欢迎亲们评论指教。

原文地址:https://www.cnblogs.com/xiluhua/p/4413831.html