CCE Faculty Articles
Using C++ Templates to Implement Role Based Designs
Document Type
Article
Publication Title
International Symposium on Object Technologies for Advanced Software
Event Date/Location
Kanazawa, Japan / 1996
ISSN
978-3-540-60954-4
Publication Date
1996
Abstract
Within the object-oriented technology community, much recent work on design reuse has focused on role-based collaborations distributed across multiple objects. Many benefits can be derived by mapping role-based designs directly into implementations, including greater ease in maintaining the connection between designs and implementations under change, and the opportunity for code reuse along with design reuse. Current efforts in role-based designs do not generally provide these benefits. We provide a method for mapping role-based designs into implementation, preserving the design without unnecessary constraints on the design structures. Roles are represented as parameterized classes, where the parameters represent the types of the participants in the collaboration. Composition of roles is implicit in the binding of parameters to classes in the implementation. The bindings are created at compile time by class definitions that are separate from the role implementations. In this paper we focus on the use of templates in the C++ language as the supporting mechanism.
DOI
10.1007/3-540-60954-7_41
Volume
1049
First Page
22
Last Page
37
NSUWorks Citation
Van Hilst, Michael and Notkin, David, "Using C++ Templates to Implement Role Based Designs" (1996). CCE Faculty Articles. 462.
https://nsuworks.nova.edu/gscis_facarticles/462