文章吧-经典好文章在线阅读:设计模式之美经典读后感有感

当前的位置:文章吧 > 原创文章 >

设计模式之美经典读后感有感

2022-06-24 09:02:02 来源:文章吧 阅读:载入中…

设计模式之美经典读后感有感

  《设计模式之美》是一本由王争(@小争哥)著作,人民邮电出版社出版的平装图书,本书定价:98.90元,页数:360,特精心收集的读后感,希望对大家能有帮助。

  《设计模式之美》读后感(一):如何写出高质量的代码

  不仅仅是设计模式,本书将写出高质量代码相关的设计思想、设计原则的来龙去脉一并讲解清楚,结构完善,内容丰富。作者为前谷歌工程师,书中的讲解示例来自其实际项目经验,而非刻意编造的代码,学完后可以上手实践,优化自己的项目设计。最后,本书在上层指导思想和底层具体细节上的讲述达到平衡,对工程师培养好的代码品味和提高代码质量意识大有裨益。

  《设计模式之美》读后感(二):练就编程内功,写出高质量的好代码

  自编程出现以来,就有无数的领域专家与大师关注到编程内功对于编程能力的重要性,写出了很多用以提升程序员编程内功的经典图书。

  但是它们有一个共同的特点,就是比较偏重理论讲解,喜欢拿猫、狗之类生活中的例子来举例。这种形式存在一个比较严重的问题,就是过于脱离真实的软件开发。虽然例子本身没有难度,一看就懂,但是在看完之后还是不理解如何将理论落实到实际项目当中去。

  本书就取经典之所长,用浅显易懂的语言讲述理论,再采用实际项目的代码实例作为讲解剖析的例子。从真实的开发场景入手,理论实践两手抓,同时并进,获得理论落地的效果。

  设计模式、代码规范、重构等编程内功同样是看不见摸不着的东西,需要使用代码作为载体将它们外化出来,读者才能真实看到并理解:噢,原来重构是这样做!遵循代码规范的好代码原来长这样!

  作者编写了超过2万行Java或C的代码,来向读者展现面向对象编程范式、设计原则、代码规范、重构技巧和设计模式五份编程内功。

  如果只是单纯地讲理论解释,面向过程编程“是以过程作为组织代码的基本单元,以数据与方法相分离作为主要特点的一种编程范式。”然后没有真实的代码展示给人看它的具体表现,初学者完全是一脸懵逼,不知所云。

  当这种不同风格的代码出现在理论后面,读者就能很快从中看出它们的不同:面向过程编程和面向对象编程的基本区别就是代码的组织方式不同。面向过程编程风格的代码被组织成一组方法的集合及其数据结构(如 struct User),并且方法和数据结构的定义是分开的。面向对象编程风格的代码被组织成一组类,方法和数据结构被绑定在一起,定义在类中。

  以代码的形式外化编程内功,让它们变成可以看得到、理解得了内容,就能很好地被读者所接受吸纳。

  虽然本书大部分代码都是Java所写,但是作者考虑到了不同读者的编程语言使用不同,通过精心的设计,本书做到了内容的讲解不与具体的编程语言挂钩;所采用的代码只使用最简单、最基本的Java语法,。也就是说,只要读者有一点点编程基础,不管熟悉的是哪种编程语言,都可以看到代码,并且理解代码背后的设计思想。

  同时,本书使用超过200个真实项目实战代码案例来进行剖析,全方位讲解如何将理论知识扩充到实际运用当中去。无论如何,理论最终都是要变成能够跑得动的代码。世界上大部分设计原则、设计思想、设计模式理解起来并不难,难的是如何将这些理论灵活恰当地应用到实际的开发中,而不是教条主义和盲目滥用。修炼内功最终都是为了让自己的武艺可以发挥出来效果,而不是单纯地告诉别人:我习得神功在身!尔等速速就擒!

  编程内功也是一样,光嘴皮子厉害,一旦把代码写起来依然是一团糟,所有理论知识在脑中徘徊不知道具体要落到哪儿去,就毫无用处。想要融会贯通,就要去实战中亲身感受和体会,从实战中真正理解理论是如何应用带实际代码中、是如何发挥作用、是如何改善代码质量的。只有在实战中,才能知道自己的编程内功习得了几成。

  正是这样,作者结合自己过去十多年工作中积累的项目经验,为整本书设计了200多个真实的项目实战代码案例,几乎覆盖了每一个知识点!通过结合一个完整的开发案例,打通理论与实践之间的隔阂,让编程内功真实地在实际编程中发挥作用。也许有的读者没有开发经验,也许有的读者在工作中没有那么多足够复杂、足够有难度的开发场景,或者都是基于已有框架照着别人的流程扩展,这些都没有关系。跟上作者的思路和脚步,把这200多个真实的项目实战代码案例练下来,完全可以真正地掌握编程内功的正确使用方法,大大提升自己的代码能力。

  编程内功并没有完全标准的正确答案,本书和大多数经典、大师一样,只是提供了一个经过验证的有效方法。修炼编程内功的目的,并不是为了修炼编程内功,而是为了提高自己的代码能力、提升自己在职场中的竞争力、全方位为往编程之路更进一步提供坚实的基础。所以主动思考、积极思考,与他人讨论,比单纯地被动接受和学习效果要好很多。

  作者针对每一章都设计了非常巧妙的思考题,他希望读者在学习完一章的内容后可以花一点时间对那些问题进行思考,解答,给出自己的答案。通过对这些问题的思考,在锻炼自己独立思考能力的同时,更可以巩固所学编程内功。

  如前文所说,本书主要是围绕面向对象编程范式、设计原则、代码规范、重构技巧和设计模式五个方面的编程内功来组织内容的。经过作者精心的安排,从易到难、从简到繁,这些内容被分为了八个章节,循序渐进地帮助读者修炼自己的编程内功。

  在第1章中,作者简单介绍了本书涉及的各个模块,以及各个模块之间的联系。本章作为全书的开篇,可以帮助读者构建系统的知识体系。然后,第2章的内容主要是介绍面向对象编程范式。面向对象编程范式是目前流行的一种编程范式,是设计原则、设计模式编码实现的基础。第3章是用来介绍设计原则,包括SOLID原则、KISS原则、YAGNI原则、DRY原则和LoD原则。这些都是现在流行并且大家都遵循的设计原则,经过时间与实践的验证。第4章的内容是介绍代码规范,主要包括命名与注释,代码风格,以及编程技巧。这些技巧在实际工作中用处很大,使用得当能够让自己的代码从可读性等方面提高几个档次。第5章介绍重构技巧,包括重构四要素、代码的可测试性、单元测试和解耦等。重构放在这讲,是因为前面的步骤做好了,重构工作就不会那么难了。第6章介绍创建型设计模式,包括单例模式、工厂模式、建造者模式和原型模式。第7章介绍结构型设计模式,包括代理模式、装饰器模式、适配器模式、桥接模式、门面 模式、组合模式和享元模式。第8章介绍行为型设计模式,包括观察者模式、模板方法模式、策略模式、职责链模式、状态模式、迭代器模式、访问者模式、备忘录模式、命令模式、解释器模式和中介模式。

  最后三章是本书的重点内容,每一个设计模式都有专门的代码案例,读者可以通过代码看和体会到这些设计模式的巧妙之处。整体章节安排有着内在的逻辑,前后有着一定的传承,读者通过阅读本书,能够全面、系统地掌握这些编程内功,真正达到融会贯通,编程神功大成。

  《设计模式之美》读后感(三):练就基本功,写出高质量代码

  小争哥在他的书中主要讲了6大类9个设计原则,分别是:1)单一职责原则(SRP);2)开闭原则(OCP);3)里氏替换原则(LSP);4)接口隔离原则(ISP);5)依赖反转原则(DIP);6)KISS 原则、YAGNI 原则、DRY 原则和 LoD 法则。

  通过认识和了解这些设计原则,我们能够清楚地知道为什么使用这种设计模式,并且知道何时如何恰当地使用设计模式——基本功之间也是相互关联的。

  设计模式同样也是程序员基本功,是为了解决代码的解耦、可扩展性问题:它是指针对软件开发中经常遇到的一些设计问题而总结的一套解决方案和设计思路。这些设计模式随着编程语言的发展与演变,在不同时代有着不同的表现。

  而当下比较常用的设计模式并不多,小争哥在他的书里介绍了22种设计模式,主要分为创建型、结构型和行为型三个大类。学习设计模式同样需要关注它们的典型应用场景与能够解决的问题,还需要注意不能过度使用!

  这些设计模式代表了最佳的实践,是无数开发人员经过漫长的时间试验和错误总结出来的。作为新手学习设计模式有助于他们通过这种快捷简单的方式来学习软件设计,作为有编程经验的程序员学习设计模式则能够帮助他们在开发过程中更快选择最佳解决方案。

  当初期工作做好,开始写代码的时候,就需要注重代码规范这一基本功了。相比设计原则与设计模式,代码规范更为简洁与直接,注重的是代码细节。它是为了解决代码的可读性问题,让代码的维护变得可行并且更简单。

  小争哥在书中总结了包括变量、类和函数的命名规范、代码注释规范等17条能够有效改善代码质量的代码规范。一般来说我们并不需对这些规范有太多的思考,只要遵循这些规范即可让自己的代码可读性提升一个很大的档次。

  同时他还在书中介绍了一些代码的“坏味道”,帮助我们认识和了解什么代码是不规范的,如何避免与优化,从正反两面同时入手提高代码质量。

  只要项目还在运转,重构就是不可避免的。重构技巧作为程序员的基本功,在软件开发中是不可或缺的能力,它能够保证项目代码质量稳定,让代码不至于变得“腐朽”而拖垮整个项目。

  如前文所说,这些程序员基本功都是相互联系的,也就是说面向对象编程、设计原则、设计模式、代码规范都是重构的工具。设计原则与设计模式很大的一个应用场景就是重构;重构分为大重构(大规模,高层次)和小重构(小规模,低层次),代码规范就是小重构的主要依赖。

  无论使用何种方式去重构代码,需要谨记的是重构的目的——让代码质量提升,不应该过度使用代码设计,“为了设计而设计”,导致代码的复杂度过高,从而降低代码质量。

  碍于篇幅,小异只是简单介绍了这5个程序员的基本功表现与功效,及其之间的相互关系。想要写出高质量的代码,除了积累这些理论知识之外,实践是必不可少的过程,只有经过了实践才能把理论落实,遇到问题的时候可以快速定位知识点从而思考出思考出解决方法。

  小争哥深谙此道,从实践出发,使用大量真实代码案例来帮助程序员修炼这些基本功。

  理论落地才有意义,不然只会空口谈论一遇到实际问题就无从下手则一点用处都没有,就白学了。

  所以小争哥在使用通俗的语言解释理论的同时,搭配全书2w多行代码、200多个实战项目案例来形象地说明和展示什么是面向对象编程、设计原则与设计模式实际效果是怎么样的、“烂代码”是如何影响项目进度,以及如何进行重构。

  这些代码与案例是他过去十几年工作中积累的丰富经验,源自真实的项目,针对每一个知识点重新设计的,实践性极高。对于初学者,或者开发经验不足的程序员来说,这些宝贵而丰富的示例能够帮助他们快速理解这些基本功与技巧的抽象概念,和在实际问题中的应用。

  实践是检验理论的唯一标准,只有在实战中去亲身感受、体会这些理论该如何使用,才能够从根本上理解和掌握这些基本功。通过跟随书中大量的代码实战,我们能够很快地掌握一套提高自己代码质量的方法与技巧,从而告别“烂代码”。

  在实战的同时,也不能忽视独立思考的力量。就像在设计模式部分所说,设计模式也是会随着编程语言的发展而发生变化,它们并不是始终如一。在不同的情况下它们可能会有不一样的表现,现在它是大家遵守的规范,也许再过几年就会被弃用——设计没有标准答案。

  小争哥只是教会我们这些基本功,但是没有让我们专信、迷信本书中所有的内容。大师的方法与思想也是一样,如果它能够指导我们改善自己的代码,那么就采用;如果它不能改善代码,并且在一定程度上让代码质量下降了,那么就需要思考这其中的原因,从而找到更有效的方法。

  在书中每一个章节最后,他都设计了1~2道思考题,这些题目有些是代码设计相关的开放性问题,有些是具体的代码优化问题。我们在看完本章节内容的时候,对后面的问题花上一点点时间进行思考尝试解决,对于本章节知识掌握有着极大的帮助。

  虽然小争哥书名字叫《设计模式之美》,但其实有一点“以偏概全”,因为本书是以编写高质量代码为主旨,全面讲解了面向对象编程、设计原则、代码规范、重构技巧和设计模式这5个程序员基本功的概念与修炼方法。

  第1章对这5个基本功做了一个基本的概述,厘清了它们之间的关系,帮助我们建立程序员基本功的概念体系。

  第2~5总共4章,分别介绍面向对象编程、设计原则、代码规范、重构技巧这4个编程基本功,讲解它们是如何在实际应用中发挥作用的,使用大量的实践代码帮助我们理解和运用。

  第6~8章都是讲设计模式,分别是其三个分类:创建型、结构型和行为型设计模式。对包含的22种具体的设计模式做了非常细致的分析与实际应用展示,让我们对于常用的设计模式有切实的了解,对于不常见的设计模式也有着大概的认识。

  在这样的内容安排下,我们能够全方位地夯实自己编程基础,修炼好自己的程序员基本功,从而避免练武不练功,到老一场空的尴尬境地。

评价:

[匿名评论]登录注册

评论加载中……