Component oriented design style
Abstract
In the battle against software development complexity, numerous development methods and techniques have been proposed over the years. Still, mastering software development skills in general and state-of-the-art techniques in particular remains a painstaking process for many, if not most, software developers. To help software developers make proper design decisions and understand rationales behind complex software designs, we propose a conceptual framework in which software designs at various abstraction levels can be represented in a canonical, component-oriented style. Based on the framework, we present a set Of reuse-oriented design rules and use them to reason about the driving forces behind various design patterns.