• DocumentCode
    3037922
  • Title

    Design patterns automation with template library

  • Author

    Dascalu, Sergiu ; Hao, Ning ; Debnath, Narayan

  • Author_Institution
    Dept. of Comput. Sci. & Eng., Nevada Univ., Reno, NV
  • fYear
    2005
  • fDate
    21-21 Dec. 2005
  • Firstpage
    699
  • Lastpage
    705
  • Abstract
    Design patterns offer reusable solutions to particular software design problems. Design patterns automation is an approach that applies design patterns at the implementation stage of the software development life cycle. Inspired by two commonly used template libraries, Active Template Library and Standard Template Library, and one of the most popular generic programming technologies, C++ templates, this paper introduces a new method for achieving design patterns automation. This method differs from the currently available UML-based and wizard-based design patterns automation techniques and provides support for increased flexibility, expandability and compatibility in developing software using design patterns. Seven of the patterns proposed by Gamma et al. have been implemented using C++ templates, namely singleton, factory method, visitor, memento, strategy, iterator, and decorator. To illustrate the method proposed, details of singleton and decorator implementations are provided and a larger "check" example developed using the decorator template is presented. The paper also includes a comparison with similar approaches and presents several directions of future work
  • Keywords
    C++ language; Unified Modeling Language; software development management; software libraries; Active Template Library; C++ templates; Standard Template Library; UML-based design patterns automation technique; decorator pattern; factory method pattern; iterator pattern; memento pattern; singleton pattern; software design patterns automation; software development life cycle; strategy pattern; visitor pattern; wizard-based design patterns automation technique; Automatic programming; Books; Computer science; Design automation; Design engineering; Design methodology; Manufacturing automation; Software design; Software libraries; Unified modeling language;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Signal Processing and Information Technology, 2005. Proceedings of the Fifth IEEE International Symposium on
  • Conference_Location
    Athens
  • Print_ISBN
    0-7803-9313-9
  • Type

    conf

  • DOI
    10.1109/ISSPIT.2005.1577183
  • Filename
    1577183