C++编程开发的四重境界
学习编程不是一朝一夕的事情,凡牛人需要持续的学习和动手编写程序,在实践中不断的思考所学以及结合实际应用范畴进行优化实现方法。在一线编程十余年,虽不是超级大牛,但亦有自己的一些理解与思考。编程讲究的是知行合一,知为行之始,行为知之检。
第一重境界
深入理解语法、函数、接口。
这一阶段,是在认真学习C++一年内,能够达到的。甚至能够初步理解到第二重境界理解数据结构与算法。如果你已经在这个层次,那么恭喜你进入编程的大门,后面还有很多更好的等待你去挑战。
第二重境界
深入理解对象、数据结构算法
能够设计、实现对象的一系列功能,并能够解耦不同的对象。这个时候数据结构和算法很重要,重要到这是你搭建庞大系统大厦的基石。合理的数据结构能够让你的代码、接口更加的优雅,而运用好的算法呢,则能够让你的程序高效的运行。
数据结构至少要能运用以下内容:栈、队列、链表、散列表、二叉树、红黑树以及如何动态规划内存分配。
算法部分:动态规划、贪心算法、平摊分析、图算法。
第三重境界
深入理解软件模块化、设计模式
一个大的软件应该是由很多小模块组成的,这些模块之间不会形成环,功能容易裁剪。所以模块化很重要,就像一个建筑工程师,对建筑的各个柱、梁的模块很熟悉,这样在搭建建筑的时候,才能够从地基往上,建造出坚固的建筑。
而对设计模式的了解,又能够帮助到你在局部设计出更容易扩展,更容易维护的功能。设计模式能够让模块更加的靠谱,是开发一个好软件的基石。
第四重境界
深入理解框架
如何设计框架、如何分解模块、如何定义模块的接口。这都是在这一层次所应该能够了解的。同时要对模式有一定的了解,包括并不限于如下模式MVC、MTV、MVP、CBD、ORM。大道至简,各种模式有各种模式的优点,运用之道,存乎于心,不必为了模式而模式,重剑无锋,大巧不工,要尽量简化框架中各种接口,让框架易于其他人使用,达到提高生产力的目的。
如果你有平台、机会从头去设计开发一个大型软件,请珍惜!不是所有人都有这样的机会,而软件最终做得好不好,就看你自己和与你一起工作的人在何种境界。