1990 · 39 citations · 5 references
ComputingComputer ScienceDesignComputer ArchitectureProgramming LanguagesSystems ArchitectureComponent-based Software EngineeringObject-oriented DesignSoftware ArchitectureSoftware ConstructionSoftware DesignCollection Container DesignComponent ArchitectureComponent InstantiationComponent ReuseSoftware Component ReuseTemplate ConstructionTemplate InstantiationType Parameterization
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.
5
Andrew Koening, Bjarne Stroustrup · Journal of Object-oriented Programming · 1990 · 42 citations
Shared-memory parallel programming in C++
Bob Beck · IEEE Software · 1990 · 30 citations
Doug Lea · 1988 · 12 citations