您的位置:知识库 »

小菜编程成长记(七 用“策略模式”是一种好策略)

作者: 伍迷  来源: 博客园  发布时间: 2008-09-10 15:59  阅读: 9138 次  推荐: 0   原文链接   [收藏]  
[1] 小菜编程成长记(七 用“策略模式”是一种好策略)
[2] 小菜编程成长记(七 用“策略模式”是一种好策略)

系列文章导航:

四大发明之活字印刷——面向对象思想的胜利

小菜编程成长记(一 面试受挫——代码无错就是好?)

小菜编程成长记(二 代码规范、重构)

小菜编程成长记(三 复制VS复用)

小菜编程成长记(四 业务的封装)

小菜编程成长记(五 体会简单工厂模式的美妙)

小菜编程成长记(五 体会简单工厂模式的美妙)

小菜编程成长记(五 体会简单工厂模式的美妙)

小菜编程成长记(六 工厂不好用了?)

小菜编程成长记(七 用“策略模式”是一种好策略)

小菜编程成长记(八 反射——程序员的快乐!)

小菜编程成长记(九 会修电脑不会修收音机?——聊设计模式原则)

小菜编程成长记(十 三层架构,分层开发)

小菜编程成长记(十一 无熟人难办事?——聊设计模式迪米特法则)

小菜编程成长记(十二 有了门面,程序员的程序会更加体面!)

小菜编程成长记(十三 设计模式不能戏说!设计模式怎就不能戏说?)


实现的界面同之前一样(可点击使用)

 

 

  “大鸟,我用策略模式是实现了,但有些疑问,用了策略模式,则把分支判断又放回到客户端来了,这等于要改变需求算法时,还是要去更改客户端的程序呀?”

   “问得好,如果不是因为前面有工厂的例子,再来通过你的思考写出的这个策略模式的程序,你就问不出这样的问题的。”大鸟很开心,继续讲道,“最初的策略模式是有缺点的,客户端必须知道所有的策略类,并自行决定使用哪一个策略类。这就意味着客户端必须理解这些算法的区别,以便适时选择恰当的算法类。换言之,策略模式只适用于客户端知道所有的算法或行为的情况。”

   “那还不如工厂模式好用,至少要增加促销或改进打折额度时,不用去大改界面,而现在,界面程序要承担的责任还是太大。没有体现你说的封装变化点的作用呀。”小菜疑问多多。

   “就目前而言,的确是这样,这样的程序确实还是不够完善,要改的地方还很多。”大鸟说道,“不过正所谓病毒时间长了会有变种,杀毒软件本身也会随着病毒的 变化而升级改良,如果我们对策略模式做一些改进,引入一些新的技术处理方式,就可以避免现在的这种耦合了。小菜,又有新的东西要学了,好好加油呀!”

  “大鸟,谢谢你,,你总是让我带着问题去思考,而不是直接说答案,我觉得这样学习进步很快,也不觉得设计模式很难了。”

  “,用不着这么客气,我只是觉得,没有人是天生就牛X的,有一些所谓的技术牛人总会在人面前说什么,‘你连这都不懂’,‘这还不简单了,你够笨的’等等说词。给人感觉他非常聪明,天生就会的样子,其实他在之前也不知走过多少弯路,犯过多少错,或许他之前也被更早的牛人羞辱过,所以再继续把羞辱传给后人。”大鸟有些激动。

   小菜小心的说道:“大鸟,你是不是也曾经被人羞……”

   “哈哈,马云曾说过,男人的胸怀是被冤枉撑大的!天天在这行当里混,阅人无数,被羞辱也是正常的事了。问题在于是不是头脑清醒,自己不能放弃呀。所以我希望能真正的帮助初学者成长,而不是去显示牛气充当狂人。小菜,记住,学习一定是一个自己感悟的过程,而程序员的感悟就是自己写程序做项目,通过实践再学习,最终升华为牛人。

  “嗯,我记住了,不过到底如何改良策略模式呢?”

   大鸟微笑不语
(待续)本文相关源代码

[第1页][第2页]
0
0

热门文章

    最新文章

      最新新闻

        热门新闻