设计模式系列文章---行为模式(Behavioral Patterns)之 策略模式(Strategy Pattern)

在软件行业混了快7年了,从刚入行就开始看设计模式,之后是每年看一遍,每一遍都有不同的理解,目前来说也只能算是对OOA&OOD有了初步了解,故斗胆把自己所学写成文章,供大家分享与讨论,有不足之处也请大牛们指正。

下面就从一个比较简单和直接的模式,策略模式说起。

说来策略,可以简单理解为方法,一个策略就是一个方法,这个模式就是把一个方法定义的不同实现进行分离,然后调用者可以动态地使用这些方法实现。

比如上班这件事,有人开车上班,有人坐公交上班,有人走着上,有人坐地铁上,超人可能就是飞着去上班。。。,这一个上班的方式就有多种方法(策略),现在如果有一个需求说是要展示公司员工上班方式,下面就用传统方式和策略模式进行实现。

传统方式,

if(张三)

{

Console.WriteLine("我开车上班");

}

if(李四)

{

Console.WriteLine("我走路上班");

}

...

无限的if语句

如果用策略模式,只需要如下一句代码:

class ShowType{

privite interface MyWorkType;

public ShowType(IWorkType workType)

{

this.MyWorkType = workType;

}

public string Show()

{

this.MyWorkType.Show();

}

}

这个类的使用者,只需要调用一个方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值