An architecture for generic extensions

被引:1
|
作者
Oancea, Cosmin E. [1 ]
Watt, Stephen M. [2 ]
机构
[1] Texas A&M Univ, Dept Comp Sci & Engn, College Stn, TX 77843 USA
[2] Univ Western Ontario, Dept Comp Sci, London, ON N6A 5B7, Canada
基金
加拿大自然科学与工程研究理事会;
关键词
Generics; C plus plus templates; Software component architecture; Middleware; Curiously reoccurring template pattern (CRTP); Type members;
D O I
10.1016/j.scico.2009.09.008
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We examine what is necessary to allow generic libraries to be used naturally in a multi-language, potentially distributed environment. Language-neutral library interfaces usually do not support the full range of programming idioms that are available when a library is used natively. We investigate how to structure the language bindings of the neutral interface to achieve a better expressibility and code re-use. We furthermore address how language-neutral interfaces can be extended with import bindings to recover the desired programming idioms. We also address the question of how these extensions can be organized to minimize the performance overhead that arises from using objects in manners not anticipated by the original library designers. Our approach is to treat a library as a software component and to view the problem as one of component extension. We use C++ as an example of a mature language, with libraries using a variety of patterns, and use the Standard Template Library as an example of a complex library for which efficiency is important. By viewing the library extension problem as one of component organization, we enhance software composibility, hierarchy maintenance and architecture independence. (c) 2009 Elsevier B.V. All rights reserved.
引用
收藏
页码:258 / 277
页数:20
相关论文
共 50 条