独孤九剑与设计模式

摘自:李会军给《设计模式——基于C#的工程化实现及扩展》一书作的推荐序。

---------------------------------------------

且看《笑傲江湖》中风清扬的独孤九剑:有进无退,招招都是进攻,使攻敌不得不守。虽只一剑九式,却是变化无穷,学到后来,前后式融会贯通,更是威力大增。能料到他要出甚么招,反招却抢在他头里。敌人手还没提起,你长剑已指向他的要害,他再快也没你快。“料敌机先”和“活学活用”这八个字,正是这套剑法的精要所在。

设计模式可以当做软件开发中的独孤九剑。在软件设计中最大的敌人就是需求不断在变化,需求变化无休无止,软件交付日期也就无限期地延迟。我们无法做到以不变应万变,但如果能提前预见到一些变化,就能用很小的代价来应对剧烈的变化。GOF总结的经典设计模式虽只有23种,但不管是创建型模式。c结构型模式还是行为型模式,归根结底都是在寻找软件中可能的变化,并封装这些变化。“料敌机先”为设计模式精髓之一,只不过这里的敌是需求的变化而已。

预测到了变化,我们需要运用抽象的手段对其进行封装,如何抽象。如何封装需要具体问题具体分析,不能一概而论,从重构到模式是目前使用设计模式最好的方式。对于设计模式如果不能够做到灵活自如地运用,不仅威力大减,甚至于弄巧成拙,“活学活用”为设计模式精髓之二。

然而,仅仅学会了剑法永远也无法达到武功的最高境界,正如学会了设计模式也无法登上软件设计领域之巅,要经过大量的实战才行,。。。

---------------------------------------------

Yew评:这个序写得非常好,将“设计模式”的本质提炼出来了,而且用大家熟知的武功来描述,言简意赅。值得我们学习!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值