Java设计模式之策略

在主方法调用
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);
}


 
 
 











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值