skip to main content
article
Free access

The design of the C++ Booch Components

Published: 01 September 1990 Publication History

Abstract

This paper describes design issues encountered developing a reusable component library. The design applied encapsulation, inheritance, composition and type parameterization. The implementation uses various C++ mechanisms, including: virtual and static member functions, templates, and exceptions.
The resulting library contains about 500 components (mostly template classes and functions) and an optional utility for instantiating templates. The components provide variations of basic collection/container abstractions with various time and space complexities.
A key insight gained from this project: the design process centered on developing a “template for the templates” — designing a component framework and orderly process for generating the template classes.

References

[1]
C~-+ Language System Release 2.0 Product Reference Manual, AT&T Select Code 307-146, Jun~ 198 9.
[2]
Beck, B., "Shared-Memory Parallel Programming in C++," IEEE Software, 7(4), July 1990.
[3]
Boehm, H.-J., and Weiser, M. "Garbage Collection in an Uncooperative EnvironmenL," Software -- Practice and Experience, 18(9): pp. 807-820, September 1988.
[4]
Beoch, G., Software Components with Ada, Benjamka/Cummings, Reading MA, 1987.
[5]
Booch, G., Object Oriented Design with Applications, Benjamin/Cummings, Reading MA, 1990.
[6]
Gansner, E.R., "Iris" A Class-Based Window Library," C++ Conference, USENIX Association, {>enver CO, October 1988.
[7]
(~orlen, K., "An Object-Oriented Class Library for C++," C++ Workshop, USENIX Ass~>ciation, Santa Fe NM, November 1987.
[8]
Lea, D., "libg++, the GNU C++ Library," 12;++ Conference, USENIX Association, Denver CO, October 1988.
[9]
Miller, W.M., "Exception Handling Without Language Extensions," C + + Conference, USENIX Association, Denver CO, October 1988.
[10]
:~hopiro, J., "Extending the C++ Task System for Real-Time Control," C + + Workshop, USENIX Association, Santa Fe NM, November 1987.
[11]
Stroustrup, B., The C++ Programming Language, Addison-Wesley, Reading MA, 1986.
[12]
Stroustrup, B., and Shopiro, J., "A Set of C++ Classes for Co-routine Style Programming," C+ + Workshop, USENIX Association, Santa Fe NM, November 1987.
[13]
Stroustrup, B., "Parameterized Types for C++," C+ + Conference, USENIX Association, Denver CO, October 1988.
[14]
Stroustrup, B., "Exception Handling for C++," C++ at Work, Tyngsboro MA, November 1989.
[15]
Stroustrup, B., "Exception Handling for C++ (revised)," C++ Conference, USENIX Association, San Fransico CA, April 1990.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 25, Issue 10
Oct. 1990
320 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/97946
Issue’s Table of Contents
  • cover image ACM Conferences
    OOPSLA/ECOOP '90: Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
    September 1990
    336 pages
    ISBN:0897914112
    DOI:10.1145/97945
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 September 1990
Published in SIGPLAN Volume 25, Issue 10

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)111
  • Downloads (Last 6 weeks)27
Reflects downloads up to 05 Feb 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media