软件开发中的独孤九剑——推荐王翔著作《设计模式——基于C#的工程化实现及扩展》
且看《笑傲江湖》中风清扬的独孤九剑:有进无退,招招都是进攻,使攻敌不得不守。虽只一剑九式,却是变化无穷,学到后来,前后式融会贯通,更是威力大增。能料到他要出甚么招,反招却抢在他头里。敌人手还没提起,你长剑已指向他的要害,他再快也没你快。“料敌机先”和“活学活用”这八个字,正是这套剑法的精要所在。
设计模式可以当做软件开发中的独孤九剑。在软件设计中最大的敌人就是需求不断在变化,需求变化无休无止,软件交付日期也就无限期地延迟。我们无法做到以不变应万变,但如果能提前预见到一些变化,就能用很小的代价来应对剧烈的变化。GOF总结的经典设计模式虽只有23种,但不管是创建型模式、结构型模式还是行为型模式,归根结底都是在寻找软件中可能的变化,并封装这些变化。“料敌机先”为设计模式精髓之一,只不过这里的敌是需求的变化而已。
预测到了变化,我们需要运用抽象的手段对其进行封装,如何抽象、如何封装需要具体问题具体分析,不能一概而论,从重构到模式是目前使用设计模式最好的方式。对于设计模式如果不能够做到灵活自如地运用,不仅威力大减,甚至于弄巧成拙,“活学活用”为设计模式精髓之二。
然而,仅仅学会了剑法永远也无法达到武功的最高境界,正如学会了设计模式也无法登上软件设计领域之巅,要经过大量的实战才行,在实战中提高剑法,在实战中体会如何“料敌机先”,如何“活学活用”。《设计模式——基于C#的工程化实现及扩展》正是这样一本教你进行设计模式实战的好书,作者从GOF 23种经典设计模式开始,带你走进模式的大门,小到细粒度的基础模式,大到粗粒度的架构模式,本书都做了详尽的讲解。如果您还在为了软件需求的无尽变化而烦恼不断,为了在软件设计领域更上一层楼而苦苦思索,希望本书能带给您一些启发。
最后,特别感谢王翔为大家带来了这样一本设计模式的经典之作。
微软MVP,博客园专家,IT168专栏作者 李会军
设计模式可以当做软件开发中的独孤九剑。在软件设计中最大的敌人就是需求不断在变化,需求变化无休无止,软件交付日期也就无限期地延迟。我们无法做到以不变应万变,但如果能提前预见到一些变化,就能用很小的代价来应对剧烈的变化。GOF总结的经典设计模式虽只有23种,但不管是创建型模式、结构型模式还是行为型模式,归根结底都是在寻找软件中可能的变化,并封装这些变化。“料敌机先”为设计模式精髓之一,只不过这里的敌是需求的变化而已。
预测到了变化,我们需要运用抽象的手段对其进行封装,如何抽象、如何封装需要具体问题具体分析,不能一概而论,从重构到模式是目前使用设计模式最好的方式。对于设计模式如果不能够做到灵活自如地运用,不仅威力大减,甚至于弄巧成拙,“活学活用”为设计模式精髓之二。
然而,仅仅学会了剑法永远也无法达到武功的最高境界,正如学会了设计模式也无法登上软件设计领域之巅,要经过大量的实战才行,在实战中提高剑法,在实战中体会如何“料敌机先”,如何“活学活用”。《设计模式——基于C#的工程化实现及扩展》正是这样一本教你进行设计模式实战的好书,作者从GOF 23种经典设计模式开始,带你走进模式的大门,小到细粒度的基础模式,大到粗粒度的架构模式,本书都做了详尽的讲解。如果您还在为了软件需求的无尽变化而烦恼不断,为了在软件设计领域更上一层楼而苦苦思索,希望本书能带给您一些启发。
最后,特别感谢王翔为大家带来了这样一本设计模式的经典之作。
微软MVP,博客园专家,IT168专栏作者 李会军
> 我来回应
热门话题 · · · · · · ( 去话题广场 )
- 想做的事,别等“以后”1.0万+篇内容 · 534.5万次浏览
- 中年人感悟特别多727篇内容 · 312.1万次浏览
- 重新养一遍自己,可真好啊2142篇内容 · 288.1万次浏览
- 哪个瞬间你发现自己被琐碎地爱着?399篇内容 · 102.7万次浏览
- 让人生变开阔的方法1.0万+篇内容 · 53.2万次浏览
- 你有哪些“终不似,少年游”的经历?3246篇内容 · 86.7万次浏览
- 活动|体制内工作带给我的喜怒哀乐17篇内容 · 2.4万次浏览
- 我能把生活过得很好4987篇内容 · 979.0万次浏览