我的设计模式--策略模式

策略模式简解:
我们还是以娱乐圈的那些事来做例子

电影名:
名词解释:顾名思义,策略模式就是将一定的算法或者一定的解决方案抽象成一个策略,在调用时候进行切换。

主要参与者:
1.演员:一个标记为某个策略的借口,定义些公用的方法。每次必出场。
2.主演:具体策略的实现者,实现策略借口。
3.导演:决定谁出场,必须拥有所有演员的名单,即持有一个策略接口的应用。

伪代码实现
1.演员:策略接口

public interface IStrategy
{
public void A(); //方法A
}

2.主演:具体策略实现者

public class Zhouxingxing implements IStrategy
{
public void A()
{
//具体的实现
}
}

public class ZiXia implements IStrategy
{
public void A()
{
//具体的实现
}
}

3.导演:调度者, 调度演员出场

public class Director
{
private IStrategy stratery //持有演员的名单
public Director(IStrategy stratery)
{
this.stratery = stratery //决定哪个演员出场
}

public void A()
{
this.stratery.A(); //让演员表演
}
}

4.电影上映:

public class Show
{
//导演出现,决定使用周星星
Director director = new Director(new Zhouxingxing());
//周星星出场
director.A();

//导演决定使用紫霞了
Director director = new Director(new ZiXia());
//紫霞出场
director.A();

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值