University of Sheffield   

    The Simons
    Component Library

Introduction   Class Hierarchy   Class Listing   Index of Classes   Index of Methods   Header Files  

Design Rationale

Motivation   Memory Model   Collections   Streams  

This document describes the design rationale behind the Simons Component Library. It covers the motivation for the project, followed by links to other documents describing major aspects of the design, such as the dynamic memory model, the collections hierarchy and the streams hierarchy.

Motivation behind the SCL

The Simons Component Library was developed as a personal project to explore the power and simplicity of object-oriented design. The original motivation was to provide a small object-oriented kernel for C++ that was as powerful as the Java kernel, but possibly even easier to use. It became a quest for minimalist design, while not wanting to compromise on functionality. The kinds of issue prompting the project included the following:

These kinds of issues motivate some of the main design decisions in the construction of the Simons Component Library. The aim is to offer a compact collection of components that work together, using common interfaces for similar components, in order to facilitate ease of understanding and usage. A uniformly object-oriented design philosophy has been followed throughout. The SCL is designed with a greater emphasis on dynamic compatibility than the C++ standard library, to increase support for component serialisation, migration and run-time substitution.




This documentation was created by Dr Anthony J H Simons, Department of Computer Science, University of Sheffield, Regent Court, 211 Portobello Street, Sheffield S1 4DP, United Kingdom.


Generated on Wed Jan 06 10:18:45 2006 for The Simons Component Library by doxygen1.3