诠释一:
阶段一:学习基本概念,了解基本的编程方法,能运用一些基本编程元素(如:线程,socket等)独立完成一些小软件,以完成功能为目标。
阶段二:学习高级的编程框架或工具以及深层次的概念,如(各类流行框架,缓存,事务等),能运用各类框架完成一个有一定规模的项目,对应用的体系结构有了一定的了解,在框架的约束下,可以实现结构化的编程。
阶段三:重新学习基本概念,(如线程,servlet等)深刻理解这些概念的运用场景和方式,以及它们是如何把实际问题解决的,理解它们为什么会出现?为什么以当前这种形式出现?是否有更完善的解决方案? 能脱离框架的约束,巧妙运用最基本的元素完成实际开发任务,在开发中强调结构化的设计。
诠释二:
阶段一:就像研究天文学,就必须先会使用天文望远镜。先学习使用编程领域的基本工具——语言,了解这门语言的特性和编程技巧,可以实现一些简单的数据结构或算法。
阶段二:通过天文望远镜探究各个天体。也就是以编程语言作为表现形式,学习各种计算机科学中的理论和概念,(如编译、操作系统、数据库、web等),了解每一个概念或理论的存在意义和基本的运行机理。
阶段三:运用数学、天体物理学等将所观察的各个天体联系起来,建立一个天体物理体系,研究各天体的相互作用,进而探究未知领域。即学习各种编程思想(如设计模式、面向切面),并能运用这些思想去合理组织之前所学的各种概念,使之能够相互协调地完成特定任务。