您的位置:首页 > 编程语言 > Java开发

Java设计模式之策略

2015-06-04 10:08 204 查看
在主方法调用
int main(String [] args){
//通过捡垃圾赚钱
}


策略模式适用于当一个应用程序需要实现一种特定的服务或者功能,而且该程序有多种实现方式时使用。

在开发过程中,我们有可能处理同一件事而调用不同的算法,也许你可以通过if else语句来把不同的算法封装起来。如果只有一两种算法这样写还好,但是如果有比较多的算法,用if else方法写出来的代码就会变得很混乱。

那么我们接下来就说一下利用设计模式--策略来解决这个问题

假设我们需要用到“赚钱”的算法:
先定义一个接口

Inteface IStrategy{
public void make_Money();
}


然后定义两个封装着不同算法的两个可以”赚钱“的类:

class Garbage_collecting implements  IStrategy{
public void make_Money(){
System.out.println("捡垃圾去了");
}
}

class Go_to_work implements  IStrategy{
public void make_Money(){
System.out.println("上班去了");
}
}
好了,我们已经定义了两个赚钱的算法接下来再写一个方法调用它们:

public class Money{
public void getMoney(IStrategy is){
System.out.println("开始赚钱");
is.make_Money();
System.out.println("结束赚钱");
}
}


最后就是调用它们啦,如果想调用捡垃圾的赚钱方法:

<pre name="code" class="java">int main(String [] args){
//通过捡垃圾赚钱
Garbage_collecting gc=new Garbage_collecting();
Money money=new Money();
money.getMoney(gc);
}






                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: