经过一些实践体验与思考,记录一下,呵呵:
模板强调的是提供通用的结构,它更适合构造容器类,容器内部实现与装载的数据结构尽量无关。典型的例子就是STL的vector, queue, map。今天自己实现了一个graph的数据结构,使用范型编程。思路是:图可以看作一个容器,顶点可以存放数据,边也可以存放数据。这样的好处是,可以把图的结构以及算法跟具体问题的数据分离,各种ADT函数(如搜索等)可以复用
而接口强调的是契约,用于各种设计模式;或是为了便于把工程分割成一个个模块,而集成工作也不必在实现都完成后才开始,就先定义接口,各个模块以及系统集成的工作都可以面向接口编程,提高团队效率;等等等等。。。