编程路上的重要概念记录

1)第一个对编程思维发生重大认识是 接口。感觉认识了接口,抽象后。才知道程序原来可以这样。

  理解接口后,几种简单的设计模式,不学自会了。接口的意义就是把意图和实现分开,但是广泛意义上,函数名,文件名,表的视图等很多东西都可以理解为接口意义。

2)第二个是递归,理解了递归后,之前很多模糊的理解,立刻清晰。

  理解递归后,汉诺塔问题,数据结构中比较重要的树的遍历,算数表达式,抢30游戏,等类似思维问题,就可以有比较清晰的认识。

3)第三个是程序的内存布局,和接口一样,之前很多的疑惑,立刻消失,有拨云见日的感觉。有了一个从低层次解释一些问题的灯塔。

  了解内存布局后,对于堆栈,指针,非算法类的语句或函数的性能评估,虚函数表,等问题都有直接或间接的帮助

4)第4个是回调吧,

  学习回调。理解回调后。再学习几个回调的变种。最后看了下设计模式。发现23种设计模式,之前没看懂的,现在看一个懂一个。接口和回调是面向对象的基础和重要概念,后悔知道晚了。

5)  第5个是编程追求的2个目标:

   1.就是把变化尽量放远,放后,放到耦合度最低的角落,也就是开闭原则。当看不懂某个设计模式的时候,看下这个目标,当需要决定某个结构该如何构架,参考这个目标。

        2.就是把代码尽量复用,提起,放到最低的可见域,只是某个类复用,那就是类的方法,或者类的静态方法。如果是某个模块都要复用。那就可以是独立类,帮助类。

原文地址:https://www.cnblogs.com/lsfv/p/6215896.html