如何才能真正的学会设计模式

        设计模式算是一个优秀程序员的必修课。我承认一个程序员不懂设计模式,也可以完成大多数的日常任务。但是你写的代码也仅仅是完成任务了而已,当面临需求的更改,后期维护时你会发现糟糕的设计会让你痛苦不堪。良好的模块设计,可以让系统看上去更优雅,后期的维护和扩展也会更方便。我承认有些朋友没有学过任何模式,也能写出优雅的代码,但那一定是建立在他阅读了大量优秀的代码和大量的思考实践之上的。

        设计模式是前辈们无数次的踩坑后总结出来的通用性的软件设计方法,我们学习它也需要我们有过一定的实践经验才行。当你被糟糕的代码虐过之后,痛定思痛,才会真正理解让代码有良好的模块设计是多么好的一种体验。我承认有时候使用合适的模式对当前业务进行设计编码会费一些功夫,当你重构一些代码时还需要承担一些修改后出现未完成测试的BUG跑到线上的尴尬,但当你承受短暂的压力对代码重构后,以后的维护功能会轻松爽快很多。看着清晰优雅的代码,心中也会生出许多作为程序员的骄傲出来。

        当然学习设计模式不是一蹴而就的。很多人感觉看完设计模式感觉学会了,但是很快就忘记了,也不知道怎样在实际中去运用。这是正常的,因为对于初学者来说我们没有大量的实际业务经验积累的支撑,所以那些设计模式就像空中阁楼一样虚幻缥缈。我也是看过好几本关于设计模式的书后,然后在实际的业务开发中有过一些运用,才算入门了设计模式。下面介绍一些我看过的设计模式相关的树。

我看的第一本书是《HeadFirst 设计模式》。这本书算是入门设计模式的经典书籍了。看过很多博主写设计模式也是模仿这本书。主要是通过举一些现实中的例子,面包店,咖啡店之类的来讲解设计模式。有点可以让你快速理解设计模式,缺点是感觉学会了,但是无法联系到实际的业务开发中。

为了理论结合实际,曾经也用JavaScript写过一段时间游戏。我发现了这本书,这本书整体还是不错的。里面很多作者在实际开发中实际运用设计模式的实例,读后会对你实际运用设计模式有一些启发。

本人是从事游戏开发工作的,这本书我读了N遍,收益匪浅。代码实例是C++实现的。最初读的时候是作者发布的英文网页版,那会对着谷歌翻译加有道词典算是读完了。感觉这本书写的太好了,里面有大量的实际应用案例,是作者20多年游戏开发经验的总结,干活很多。但是读完后,想着把这本书翻译过来,不过无奈能力和精力有限。后来这本书出了中译版,果断入手。 

这本书作者讲了一个完整的游戏案例来讲解如何去运用设计模式来设计游戏的各个模块。总体来说还算讲的清楚,但是有些实例的运用有些牵强。可以选择性的吸收书中的精华思想。

        设计模式是门内功,正所谓学而时习之,需要你不断的去复习,在实际开发中多去思考运用才能掌握。我是每隔一年都会温一遍设计模式,温故而知新,每次看都会有不一样的思考。不要为了学而学,那些你真正思考并能实际运用的东西才算是真的学到了。

备注:最近发现一个很好的学习设计模式的网站,图文并茂。链接如下:

https://refactoringguru.cn/icon-default.png?t=LA92https://refactoringguru.cn/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值