美文网首页
100 - 如何将设计思想、原则、模式等应用到项目中?

100 - 如何将设计思想、原则、模式等应用到项目中?

作者: 舍是境界 | 来源:发表于2021-11-08 07:07 被阅读0次

本文我们来聊一聊,如何将设计思想、原则、模式等理论知识应用到实际的项目开发中。让大家能对学到的知识更好的应用到项目中。

吃透理论、先把书读厚再把书读薄

  • 把理论知识灵活地应用到实践的前提是,对理论有透彻、无盲点的理解。如果我们对理论知识掌握得似懂非懂,在实际软件开发中,遇到跟讲过的问题类似,我们可以照葫芦画瓢去解决,但是,如果问题背景稍有改变,我们就会比较难联想到对应的理论知识,更难灵活地应用理论去解决。
  • 要想透彻理解专栏中的每个知识点,一个是要多看几遍,二是要有死磕精神。虽然这两个方法可能已经是老生常谈了,听起来也没有什么高大上的,但从我自身的学习经验来讲,它们确实很有用。
  • 书读百遍其义自见。有的时候,对某个知识点,如果看一遍看不懂,你就硬着头皮多看几遍,或者隔几天再回过头来看一遍,你会发现原来很多看不懂的地方,自然而然就懂了。
  • 慢就是快,快就是慢。我们花一点时间把所有的知识点学透彻,实际上是件一劳永逸的事情。这个过程虽然看似漫长,但收益却很多。对比而言,如果你只是为了追求结课速度,花一两个月、甚至一两个礼拜,把知识点学完。这看似很快,但实际上收获会很少。
  • 先把书读厚,再把书读薄。反复地学、持续地看。先把书读厚,等到你把所有的知识点都理解透彻,并且在脑子里建立起清晰的知识体系之后,你会发现,实际上很多知识的内容也就那么点东西,并不难记忆。前提是你先要花时间把书读厚,然后才能做到把书读薄。
  • 虽然这里我们讲到书读百遍其义自见,也讲到死磕精神,但是,必须强调一下,有的时候,对于某个知识点,我们看了很多遍、死磕了很长时间,如果还是没法透彻理解,我们也不要过于钻牛角尖,非得“现在立刻马上就要”把它拿下。我们可以先把这个知识点放一放,先看看后面的内容,隔一段时间,让知识沉淀、消化一下,再回过头来看也是可以的。

在实战中反复学习、模仿和借鉴

  • 很多人说,理论的知识学了就忘,忘了是不是就等于白学了呢?实际上不是的。结合具体的案例和代码来学习,目的就是为了让大家在实战中学习。所以,学习的重点不是理论知识,而是跟随思维逻辑,学习如何分析代码问题,解决代码问题。经过上百个代码案例的剖析学习,即便理论知识你有可能会忘记,但这种潜移默化的能力锻炼,是不会丢掉的。
  • 对于新手来说,最好的学习方法之一就是“模仿”。如果你是一名算法或者编程初学者,自己编写代码实现各种数据结构和算法,可能会比较困难。在这种情况下,你就可以先从“照抄”开始,把所有的代码都抄一遍或者抄几遍,然后再慢慢地过渡到自己去默写。
  • 有人为了刷 LeetCode、刷算法题,会积累一些算法模板,对于相似的问题,套用算法模板来快速解决。同样的,我们也可以积累设计模板、代码模板,对于相似的功能需求,我们可以套路设计模板、代码模板来解决。比如,在前面讲到的限流框架、灰度组件中,加载配置文件这样一个常用功能的设计和实现,我们就可以抽象成模板。对于其他项目中类似的功能需求,直接套用就可以,不用从零开始设计和实现了。

刻意思考、刻意训练、追求极致

  • 要想把理论知识应用到项目中,并且做到润物细无声、融会贯通、无招胜有招,我们需要经过漫长的刻意思考和刻意训练。
  • 拿到一个功能需求的时候,我们先去思考一下如何设计,而不是上来就写代码。写代码时,我们也要时刻思考代码是否遵循了经典的设计思想、设计原则,比如是否足够可扩展、是否满足 SOLID 原则、可读性如何等等。
  • 写完代码之后,我们再思考一下,代码是否有进一步优化的空间。做 Code Review 的时候,看到别人的优秀的代码,我们就去思考一下,有哪些值得借鉴的地方。
  • 总之,在平时的开发中,我们要刻意的去做这种跟代码质量、代码设计相关的思考训练。时间长了,这种思考就能成为习惯和本能反应,慢慢地,你的代码能力也就不自觉地提高了。
  • 刻意训练的过程在前期会比较痛苦。为了尽可能写出高质量的代码,为了刻意训练在代码中应用理论知识,原本半天就能写好的代码,可能需要好几天才能完成。
  • 跟前面讲到的花很多时间把理论知识搞透彻的道理一样,刻意训练虽然在前期需要投入更多的时间和精力,但也是一件一劳永逸的事情。等到训练到一定程度之后,你就会发现,在不依赖这个知识点列表的情况下,你开始不自主地考虑代码质量问题、设计问题,不经意写出的代码,就完全符合高质量代码的要求了,而且,写出好的代码并不会花费更多的时间了。相反,如果不愿意为刻意训练付出时间和精力,每次写代码都马马虎虎,代码质量永远都提高不了,也永远都达不到灵活应用理论知识到项目中。
  • 多花点心思和时间把一段代码写好、优化到极致,比写十段凑活能用的代码,对提高代码能力更有效。实际上,这就好比刷 LeetCode 算法题,对于一些经典算法的经典题目,我们一定要刻意地多花点时间搞清楚,死磕一下。虽然死磕的过程很痛苦,可能会花掉你很多时间,但一旦搞明白之后,其他类似的题目都可以很快解决。相反,如果看到不会的问题,连思考都不思考,就去看答案,那做十道题,也还是没有太多长进,看到题目不看答案还是写不出来。

相关文章

  • 100 - 如何将设计思想、原则、模式等应用到项目中?

    本文我们来聊一聊,如何将设计思想、原则、模式等理论知识应用到实际的项目开发中。让大家能对学到的知识更好的应用到项目...

  • 设计模式---单一职责原则

    设计模式其实很简单[精品] 刘径舟 张玉华 等 笔记 § 第1章 设计模式的定义及设计原则 >>设计模式是一种思想...

  • Mr.Li--python-Linux-设计模式

    设计模式: 设计模式六大原则(1): 单一职责原则:一个类只负责一项职责 设计模式六大原则(2): 里氏替换原则:...

  • 常用的架构指导原则分析:要想做好架构设计,一定要遵循这几个设计原

    架构原则的基本概念 设计原则:架构设计的指导思想指导如何将数据和函数组织成类,如何将类连接成组件和程序 架构的主要...

  • 61 - 策略模式实战

    设计原则和思想其实比设计模式更加普适和重要,掌握了代码的设计原则和思想,甚至可以自己创造出来新的设计模式 问题与解...

  • 小知识点——责任链模式

    在项目中,有应用到,及时整理,方便日后温习。 定义 责任链模式是一种设计模式,也是行为型设计模式之一。多个对象以链...

  • 设计模式的基本原则

    设计模式的基本原则是软件设计的编程思想,是前人总结的出设计模式的核心原则 一、单一职责原则 单一职责原则:不要存在...

  • GeekBand C++设计模式 第一周

    1.设计模式简介 课程目标 松耦合设计思想 面向对象设计原则 重构技法改善设计 GOF核心设计模式 设计模式 不断...

  • 设计模式

    前言 设计模式如果应用到项目中,可以实现代码的复用和解耦,提高代码质量。 本文主要介绍14种设计模式写UI组件,封...

  • 设计模式第一篇-六大原则

    设计模式原则分析-github 一、什么是设计原则? 原则就是一种规范,一种在你去思考项目中需要使用哪种设计...

网友评论

      本文标题:100 - 如何将设计思想、原则、模式等应用到项目中?

      本文链接:https://www.haomeiwen.com/subject/fiakzltx.html