众多书籍之下为何还要写这一课程
设计模式可谓是老生常谈的不能再老生常谈了,我曾经思考过很长一段时间要不要去写这系列的文章,因为这一主题的书籍实在太多了,网上免费的资料也非常的多。思考再三,最终决定写它,主要有以下几个原因:
- 网上的资料虽然非常多,但就如同你所知:网上资料一大抄!内容极其雷同而且粗浅。
- 讲设计模式的书籍虽然非常多,但用 Python 来描述的非常的少,有那么几本也是从国外翻译过来的,内容多少会有些变味。
- 能把抽象难懂的设计模式讲的通俗易懂、妙趣横生的很少。
设计模式玄吗
我觉得它玄,也不玄!
怎么讲呢?《孙子兵法》玄不玄?也玄!因为芸芸众生中能看懂悟透的人很少,能真正灵活应用的人更少!而且战争的成败受众多因素的影响,如天时、地利、人和。但你要问中国历代名将中有哪个不读《孙子兵法》的?几乎没有,如三国的曹操、南宋的岳飞、明代的戚继光,这些人可谓是把兵法用的出神入化了。那两千多年来世界其他国家没看过《孙子兵法》的是怎么打仗的?照样打。没学过兵法的人就不会使用里面的计策吗?当然会用,而且经常用。比如“借刀杀人”,相信这个人们在耍小聪明的时候都用过;“打草惊蛇”这个计策估计连小孩都会用,这样的例子还有很多。只是你不知道古代已经有人把它总结成“战争模式”了。所以说《孙子兵法》其实也不玄。
同样的道理,“设计模式”是一套被反复使用、多数人知晓的、无数工程师实践的代码设计经验的总结。因此它比较抽象,没有一定的编程经验很难读懂,更不能理解其精髓。所以很多人觉得它玄,但真正的架构师和优秀的程序员,几乎没有不看设计模式的。能把设计模式应用的如火