读书人

计策模式(Strategy)-算法

发布时间: 2012-10-11 10:16:10 作者: rapoo

策略模式(Strategy)---算法

?

一,策略模式主要对其算法的包装,将每一个算法封装到具有共同接口的独立的类当中,使他们可以相互替换

?

策略模式运用非常广泛,在这里以(加,减,乘,除)算法为例,

?

接口:

?

package com.wqy.strategy;public interface Oper {public abstract double Oper(float f1,float f2);}

?减法操作

?

public class Substract extends Oper {public double Oper(float f1,float f2) {return (f1-f2);}}

?除法操作

?

package com.wqy.strategy;public class Division extends Oper {public double Oper(float f1, float f2) {return (f1/f2);}}

?以下的加法与减法不一一列举...

?

?

封装类

?

package com.wqy.strategy;public class Wrapper {public Oper oper;public Wrapper() {}public Wrapper(Oper oper) {this.oper = oper;}public double oper(float f1, float f2) {return oper.Oper(f1, f2);}}

?测试类.

?

?

package com.wqy.strategy;public class Client {public static void main(String[] args) {Wrapper wrapper1=new Wrapper(new Substract());System.out.println(wrapper1.oper(30,40));Wrapper wrapper2=new Wrapper(new Division());System.out.println(wrapper2.oper(30,40));}}
?

以上是简单的算法封装,可以根据传入的对象不一样,而表现出不一样的行为,,在外加以封装之后,可以使该类算法运用非常灵活

?

?

使用:

计策模式(Strategy)-算法

?

?

?

读书人网 >软件架构设计

热点推荐