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
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;
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
DOI :
10.1109/ISSPIT.2005.1577183