过了新手期的程序员,随着日复一日的基础代码的编写,自己的编码习惯也在慢慢的养成中。
    对于代码,我们每个人都觉得自己写的代码是最牛逼的,这种感觉也只有写下的代码的那个时刻会这么觉得。
    当自己写的代码时隔三个月再去维护,或者维护别人的代码的时候,这个时候才会觉得,都是什么神仙代码,才意识到一个好的代码的重要性。

    那么,什么是好的代码,如何写出好的代码,修炼自己内功心法,对于我们来说,是每个程序员成长路上必须思考的问题。

    要解决上面的问题,其实并不是一件多么难的事,毕竟我们是后海。

    透过现象看本质,优秀的代码背后,往往是优秀的思想。

    学习到了优秀的思想,就达到不局限于解决某一个具体的问题的格局,正所谓,任你变化万千,我自岿然不动。

    所以,总结下,我们得做好两件事。

    1. 从好的代码中,抽取出共性,抽出思想
    2. 理解思想,落实到现实的场景

    饭要一口一口吃,事情要一件一件干,步子要一步一步走,迈大了就容易扯着蛋

    从好的代码中,抽取出共性,抽出思想。

    什么是好的代码,大家说好,才是真的好,spring从2004年发展到现在,经久不衰,现在的地位也是如日中天,除了它开源免费,维护更新,其最重要的因素也是它好用,所以,通过spring 来剖析,提取里面的思想,我想是有意义的。

    在分析spring 之前,有些设计原则,需要了解下,应该是必要的。

    开闭原则
    所谓开闭原则,其实搞清楚开闭两个字的含义就行了,开是指对拓展开发,对修改关闭。应用在我们开发的过程中就是,设计的时候,一定要留下有拓展性的代码,有新的需求变更,要避免直接修改原方法的逻辑。
    Java 继承的设计,就很符合该原则。

    依赖倒置原则
    依赖倒置,重点在依赖二字上面,依赖的东西很重要,要依赖抽象,而不是具体细节,这样做得好处就是减少了类与类之间的耦合新,上层依赖的是一个抽象,而不是你具体的某一个实践。举一个简单的例子,我想要个馒头,我付给你钱,你只需要给我一个馒头就行,我对这个馒头具体是怎么做出来,是自己蒸的,还是进的货,不care。

    单一职责原则
    单一职责,重点在职责,放在现实之中,就是做好自己的事情。之所以这个社会能够有序不紊的运行着,就是每个人在做好各自的事情。该原则在开发过程中体系就是,在开发设计的时候,设计的类,或者方法,做得事情要尽量抽取到原子性,避免大锅粥,毕竟,一颗老鼠屎能坏一锅汤。
    有趣的是,近几年DDD领域驱动开发,也是符合这个原则要求的,在划分领域的时候,对该原则的要求更高,但是思想任然没变。

    接口隔离原则
    这个讲的是依赖接口的时候,在设计接口时,接口中的方法尽量少,不要太过臃肿。换句话说,也是单一职责的演变,上层依赖的接口的粒度尽量要小。

    还有里氏替换原则,合成复用原则等等原则

    总之一句话,优秀的代码,优秀的设计,肯定符合 高内聚,低耦合 这一原则!

    了解了这些原则过后,接下来我们就要从spring 代码中解读出优秀的设计模式,看看这些设计模式在spring 中是如何应用的,下一篇我们主要的内容就是这些了,下次再见~