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

设计方式学习之策略模式

2012-10-13 
设计模式学习之策略模式1.名词解释:策略模式:它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模

设计模式学习之策略模式

1.名词解释:

策略模式:它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的用户。在不同的时间或条件应用不同的业务规则时,可以考虑使用策略模式;

?

2.代码示例:

策略抽象类package DesignPattern.StrategyPattern;public abstract class Strategy {public abstract void Execute();}

?

具体策略类Apackage DesignPattern.StrategyPattern;public class ConcreateStrategyA extends Strategy{@Overridepublic void Execute() {//代码逻辑System.out.println("ConcreateStrategyA.execute is process...");}}

?

具体策略类Bpackage DesignPattern.StrategyPattern;public class ConcreateStrategyB extends Strategy{@Overridepublic void Execute() {// TODO Auto-generated method stubSystem.out.println("ConcreateStratetyB.execute is process...");}}

?

package DesignPattern.StrategyPattern;public class Context {private Strategy strategy = null;public Context(Strategy strategy) {this.strategy = strategy;}public void ContextInterface() {strategy.Execute();}}

?

主控程序类:package DesignPattern.StrategyPattern;public class Client {public static void main(String[] args) {Strategy a = new ConcreateStrategyA();Strategy b = new ConcreateStrategyB();Context c1 = new Context(a);Context c2 = new Context(b);c1.ContextInterface(); c2.ContextInterface();}   }

?

热点排行