从本质上讲,软件开发就是把重复的思想以软件的形式固定下来,软件开发技术大多是在尝试解决软件中层出不穷的重复问题。针对代码重复,出现了子过程、函数和类的概念;针对逻辑重复和算法重复,出现了范型方法;针对设计重复,出现了涉及模式;针对结构重复,出现了各种框架体系。——出自《Java Development with Ant》的序言