| Q: |
什么是多范型编程? |
| A: |
多范型(multiparadigm)编程是“以多种风格编程,各尽所能”的花哨讲法。例如,当需要在运行时区分对象类型时用面向对象编程,而在需要静态类型安全性,并且追求执行效率的时候使用泛型编程。显然,多范型编程的主要威力体现在使用多种范型(编程风格)的程序中,要通过用多种支持不同范型的语言来创建同样效果的系统是很难的。多范型编程的最引人注目的效果是:如果使来自不同范型的技术紧密协作,就可以写出比用单范型的程序更精致、维护性更好的代码。举一个简单的例子,遍历一个元素为多态类型的静态类型容器可以这样写: void draw_all(vector< Shape* >& vs) // draw each element of a standard vector
{
for_each(vs.begin(),vs.end(),mem_fun(&Shape::draw));
}
这里,Shape 是一个抽象基类,它定义了几何图形类层级的接口。这个例子可以很容易地推广到标准库里的任何容器: template< class C > void draw_all(C& cs) // draw each element of a standard container
{
for_each(cs.begin(),cs.end(),mem_fun(&Shape::draw));
}
Jim Coplien的书“Multiparadigm Design for C++”(Addison Wesley, 1998)探讨了在设计和设计方法中多种范型的运用。 |
原文地址:http://www.research.att.com/~bs/bs_faq.html#multiparadigm
本文乃网上搜集得来,其版权归原作者和原出处所有。如有侵犯版权之处请与我联系,我将马上进行处理。