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

This document is currently not available here.

Find in your library

Share

COinS