Design Patterns as First-Class Connectors

  • We propose a technique using design patterns as an abstract modeling construct to connect software components built individually by software developers. Given a set of requirements structured as design problems, we can solve each problem individually by selecting appropriate design pattern in the intended traditional way of using it. Much of the published literature on design patterns spends much effort in describing this problem–design pattern association; however, there is no systematic and practical way that shows how to integrate those individual solutions together.

    Our compositional model is based on design patterns by abstracting their behavioral model using role modeling constructs. This approach describes how to transform a design pattern into a role model that can be used to assemble a software application. Our approach offers a complete practical design and implementation strategies, adapted from DCI (Data, Context, and Interaction) architecture.  We demonstrate our technique by presenting a simple case study complete with design and implementation code.  We also present our approach in a simple to follow software composition process that provides guidelines of what to do and how to do it.