外部的多态:一种用于透明地扩展c++具体数据类型的对象结构模式
意图允许那些没有继承关系或/和没有虚函数的类能够被多态地对待。这些没有关系的类能够被使用它们的软件以一种共同的行为处理。动机使用来自不同源的C++类是非常困难的。一个应用经常希望这些类能够"投射(project)"到一个共同的行为,但是却受到这些类存在设计的限制。如果仅仅是类的接口需要适配,一个明显解决方法是使用对象结构模式,如适配器和装饰。有时候却要有更复杂的需求,如需要改变底层的接口和实现。在这种情况下,这些类可能被需要表现得好像它们拥有一个共同的祖先(父类)。例如,考虑这样一个情况,我们正在调试一个由来自于不同c++库的类构成的应用。如果能够要求任意类实例以人可读的形式将其内部状态导出到
下载地址
用户评论