1998 · 82 citations · 8 references
ComputingDesignService DesignSystems ArchitectureSystems DesignComponent-based Software EngineeringSoftware ArchitectureSoftware DesignSoftware ReuseComponent ArchitectureComponent-based ArchitecturesComponent-based Software DesignComponent-based Software DevelopmentCompositionDesign CompositionDesign PatternsSoftware Components
Component-based software development has proven effective for systems implementation in well-understood application domains, but is still insufficient for the creation of reusable and changeable software architectures. Design patterns address these shortcomings by capturing the expertise that is necessary for reusable design solutions. However, there is so far no methodical approach to providing these conceptual design building blocks in a tangible and composable form. To address this limitation, we introduce the notion of design components, reified design patterns fit for software composition. In this paper, we define design components and explain their constituents and services. Furthermore, we detail the activities of design composition and illustrate them as a process within a four-dimensional design space. Moreover, we describe a prototype of a design composition environment. A case study helps illustrating our approach.
8
Rcs — a system for version control
Walter F. Tichy · Software Practice and Experience · 1985 · 950 citations
Advanced C++ Programming Styles and Idioms
James O. Coplien · 2005 · 370 citations
Object solutions: managing the object-oriented project
Choice Reviews Online · 1996 · 191 citations