01 看的多,内化不足
最近想复习一下编程相关的知识,在复习前我翻开了之前的一些笔记,这些笔记基本都是从书本、视频、博客等摘取记录的,看着这些笔记心里总结:看的多,内化不足。
02 整理大纲
为了解决这个问题,我想到的方法是重新整理笔记,把笔记不断完善。但是应该怎样把这些知识梳理好?此时我想通过思维导图可以将知识整理分类。
利用思维导图把自己要学的知识点整理分类。(目前我整理的比较粗,还需要细化完善)
03 回归本质,以原则为指导
心中有“树”后,如何继续细化到具体的知识点?回归到编程的本质。写软件和设计软件要有原则为指导,系统设计要以高性能、高可用、可扩展为目的,写代码要以SOLID等软件设计原则为指导。
通过系统设计原则学习中间件
我们学习中间件可以从高性能、高可用、可扩展三个维度去学习,如redis、rabbitmq这些软件是如何实现“三高特性”,redis为什么那么快?rabbitmq是如何实现高可用的?以这三个维度为指导,不仅可以引导我们不跑题,还可以开阔我们的设计视野。也可以提高系统架构设计能力。
通过软件设计原则学习源码
源码与框架的学习更多是代码层面的细节的实现。我们以SOLID等设计原则为指导去学习源码,源码中的各种设计模式(单例、工厂、原型等)是以SOLID等原则为基础总结诞生的,spring、mybatis这些框架使用了大量的设计模式。
带着问题去学习
最后我们要带着问题去学习,如学习redis我们可以从雪崩、主从不一致等问题去了解其原因与解决办法。不仅可以加深对其原理的理解,也可以为我们后续遇到问题提供解决思路。
最后要坚持学习,剩下的交给时间。