设计模式之菜鸟缓慢型学习教程



设计模式之菜鸟缓慢型学习教程

我们知道设计模式是多么牛逼的东西,这里主要介绍菜鸟如何接受设计模式。


菜鸟D依然在缓慢的学习着设计模式,毕竟才只是学习的第一阶段。(设计模式的三阶段:第一阶段,完全不知道模式;第二阶段,模糊的知道模式了,万物皆模式;第三阶段,不知道这是什么模式,能解决问题就是好模式)

有人叫我不要执着于模式,谨记设计模式的六大原则:单一原则、开闭原则、依赖倒置原则、接口隔离原则、里氏替换原则和迪米特法则,并且将这些原则运用到代码中,就足够了。菜鸟D在努力践行着,虽然几乎没有成果。言归正传——

参考资料:《大话设计模式》 第二章   

《Head_First设计模式》(又译作《深入浅出设计模式》)  第一章

策略模式:它定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化不会影响到使用算法的客户。
结构图:
091040037909234.png 

简要介绍一下结构图:

        Context上下文类在项目中间充当一个调用者的角色,上下文类中包含一个策略类接口,调用某一具体策略。

        Strategy策略类定义策略接口(算法类接口),也可以用抽象类和虚方法,此处以多态的形式实现。由于提倡“多用组合,少用继承”的oo原则,建议使用接口。

        A、B、C具体策略类(具体算法类),根据不同的需求提供具体的策略算法。

具体事例:

        1.《大话设计模式》中采用商场打折的例子,不同的打折方案就是不同的策略,结账时选择一个具体的打折方案。

        2.《Head_First设计模式》中采用的是鸭子的例子,不同的鸭子有不同的飞行方法和叫声,不同的飞行方法、不同的叫声也是不同的策略,定义了两个策略族(算法族),具体的鸭子有其飞行方法和叫声。

        3.《Head_First设计模式》的思考题是一个游戏的例子,角色装备不同的武器,不同的武器也是同一个策略族的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值