设计模式-策略模式

策略模式,是我阅读到HeadFirst的第一个模式,其意义很大,在一定程度上让我对于面向对象的思维更加开阔,对于解耦的理解更加深刻了。能让我写出更具有拓展性的代码

比如一个场景,你想要去旅行,那么现在有3种方式可以选择,主要是根据你的荷包的大小来决定出行方式。

直接上代码。


现在完美地解决了出行问题,可是假设你通过努力,获得了更多的财富,你想要选择更加舒适的出行,例如:游轮,那么这个时候你就只能在choose里面修改if判断,那么只添加一个出行方式,或许修改量很小,但是当你添加很多出行方式的时候,就会累死你。而java中,有开闭原则,对拓展开放,对修改关闭,因此,我们需要考虑扩展性的代码。对其进行了修改。




这时候,如果需要添加一种出行方式的话,只需要添加一个实现了BaseGo的接口的类就可以实现了。

所谓的策略模式,便是指将算法封装起来。写扩展性较高的代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值