策略模式

本文讲述了作者在机房收费系统中应用策略模式的心得体会。首次尝试策略模式,作者意识到不应过分依赖网上的资料,而是应该自我思考。在错误地将策略模式分层后,作者认识到这样违反了开放-封闭原则。正确做法是将策略模式全部置于同一层,每增加一个策略对应一个单独的类。通过代码示例展示了如何在不改动原有代码的基础上,轻松添加新的策略类。
摘要由CSDN通过智能技术生成

   在大话中,我们已经学习过策略模式,并且对书中的例子进行了实现。可是真到了此时,要将策略模式应用到机房收费系统中,感觉无从下手了。好在,还是很快的迈出了第一步--做!

   第一次在机房中加的设计模式就是抽象工厂,说实在的,那时候的感触远远没有现在加入策略模式大。其中最主要的原因就是--自我思考!抽象工厂是在网上参考他人经验后写的,可以说是比猫画虎吧,当时写完了也没有自己思考一下为什么别人要这么写,为什么别人可以自己写出来而自己却写不出来呢?现在要开始合作了,开始加策略模式,也是第一反应就是上网查资料,可是后来突然想到了抽象工厂的教训,于是断然关闭了网页,开始自己探索。

   很快的,不到一个上午的时间,初步在机房中加入了第一版的策略模式,个人感觉很良好,先不管对错,起码运行起来很完美。充分享受完这种自豪感后,还是和别人讨论了一下我的方法的对错。应该说是庆幸,在讨论后,我才知道,我实现了功能,却错误了过程,也错误了策略模式的初衷!为什么这么说呢?且听听我的第一遍思路吧:(不再展示具体代码)

     1.错误思路:将策略模式分层了!

    (1Context类放在B层,通过引用接口层来实现D层代码;

    (2Strategy类放在接口层(包含ConcreteStrategyA

评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值