泛型编程是一种高效的的、软件库可复用的编程泛式。它是由 Alexander Stepanov 和 David Musser 创造的。泛型编程的首个成功的应用是标准模板库(STL),它已经成为ANSI/ISO C++标准的一部分。从那以后,泛型编程泛式已经被应用到许多通用程序库的开发中。
泛型编程的过程关注于在同一个算法的相似实现中寻找共性,然后提供一套抽象,这样一个单一的通用算法就能含盖许多具体的实现。这个过程称做lifting,不断重复这个过程,直到泛型算法达到一个合适的抽象级别,这时它应该白日提供最大的复用能力且仍然高效,并独立于实现。抽象本身被表示为只对通用算法的参数的依赖。
一但在某个特定的领域内的许多算法已经被lift,我们将看到需求的模式。对于相同的需求集成为许多不同的算法的要求将是十分平常的。那时,每个需求集将被放入一个concept。Concept描述了一个抽象集,每个抽象又满足一个concept的全部需求。当认真贯彻泛型编程的过程时,concept将显现出以某种逻辑的方法来描述问题域内的抽象概念。例如研究图论算法将产生图的c阅读全文>
发表于 @ 2008年07月23日 20:44:00|评论(loading...)|举报|收藏