Gang-of-Four Design Patterns: A Case Study of the Unified Model and the Eos Programming Language

By: Hridesh Rajan

PDF Download Download Paper

Abstract

In earlier work, we showed that the AspectJ notions of aspect and class can be unified in a new module construct that we called the classpect, and that this new model is simpler and able to accommodate a broader set of requirements for modular solutions to complex integration problems. We embodied our unified model in the Eos language design. The main contribution of this article is a case study, which considers the implementation of the Gang-of-Four (GOF) design patterns in Eos to analyze the effect of new programming language constructs on these implementations. We also compare these implementations with the AspectJ’s implementation. Our result shows that the Eos implementation showed improvement in 7 out of 23 design patterns, and are no worse in case of other 16 patterns. These improvements were mainly manifested in being able to realize the intent of the design patterns more clearly. The design structures realized in the Eos implementation provide supporting evidence for the potential benefits of the unified model.

ACM Reference

Rajan, H. 2015. Gang-of-Four Design Patterns: A Case Study of the Unified Model and the Eos Programming Language. Technical Report #15-07. Department of Computer Science, Iowa State University.

BibTeX Reference

@techreport{rajan2015gang,
  title = {Gang-of-Four Design Patterns: A Case Study of the Unified Model and the Eos Programming Language},
  author = {Rajan, Hridesh},
  year = {2015},
  month = {June},
  institution = {Department of Computer Science, Iowa State University},
  number = {15-07},
  abstract = {
    In earlier work, we showed that the AspectJ notions of aspect and class can be
    unified in a new module construct that we called the classpect, and that this
    new model is simpler and able to accommodate a broader set of requirements for
    modular solutions to complex integration problems. We embodied our unified
    model in the Eos language design. The main contribution of this article is a
    case study, which considers the implementation of the Gang-of-Four (GOF)
    design patterns in Eos to analyze the effect of new programming language
    constructs on these implementations. We also compare these implementations
    with the AspectJ's implementation. Our result shows that the Eos
    implementation showed improvement in 7 out of 23 design patterns, and are no
    worse in case of other 16 patterns. These improvements were mainly manifested
    in being able to realize the intent of the design patterns more clearly. The
    design structures realized in the Eos implementation provide supporting
    evidence for the potential benefits of the unified model.
  }
}