首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

Java设计模式学习-策略模式

2013-11-15 
Java设计模式学习--策略模式package com.dsl.strategy/** *一个策略的接口,提供一个妙计的使用方法,讲述

Java设计模式学习--策略模式
package com.dsl.strategy;/** *一个策略的接口,提供一个妙计的使用方法,讲述的是三国的故事 * @author * */public interface IStrategy {public void operate();//使用妙计的方法}

?下面是三个实现类:

package com.dsl.strategy;public class Backdoor implements IStrategy {//这是一个走后门的方法@Overridepublic void operate() {System.out.println("找乔国老帮忙,让吴国太给孙权施加压力");}}

?

package com.dsl.strategy;public class GivenGreenLight implements IStrategy {@Override/** * 求吴国太开个绿灯 */public void operate() {System.out.println("求吴国太开个绿灯,放走...");}}
package com.dsl.strategy;public class BlockEnemy implements IStrategy{@Override//阻挡追兵的方法public void operate() {System.out.println("吴夫人出马,你们这些追兵还不走?");}}

??一个锦囊类用来装妙计呵呵:

package com.dsl.strategy;/** * 一个装妙计的锦囊 * @author DengShenglong * */public class Context {private IStrategy strategy;//里面必须有妙计撒..//构造方法主其new的时候就初始化妙计public Context(IStrategy strategy){this.strategy=strategy;}//提供一个使用妙计的方法public void operate(){strategy.operate();}}

?

package com.dsl.strategy;public class ZhaoYun {private static Context context;//他身上是有锦囊的/** * 赵云来使用锦囊了 * @param args */public static void main(String[] args) {System.out.println("-----------先去吴国的时候-----------");context=new Context(new Backdoor());//这里就要使用第一个锦囊了context.operate();System.out.println("\n\n");System.out.println("---------要把吴夫人搞到手嘛------------");context=new Context(new GivenGreenLight());//要搞到美女必须要开绿灯啊!context.operate();System.out.println("\n\n");System.out.println("---------最后要把夫人接到蜀去了---------");context=new Context(new BlockEnemy());//就要把追兵给赶走context.operate();}//策略模式的好处就是:体现了高内聚低耦合的特性}

?

热点排行