Until now, activity related to design patterns has been focused primarily on the following three areas. This collection not only reveals secrets of great software professionals but also makes those secrets easy to apply to your own work. They are trying to build a formal model that provides foundation for the development of software systems through the application and composition of design patterns. The following figure illustrates this fundamental idea.
Design patterns are logic in nature, but code patterns are physical in nature.
He built a tool for instantiating patterns of code that can be derived from object models. However, this tool does not support the abstract approach that we propose and we suspect can not be easily modified to support code generation for different program languages. Design patterns raise the abstraction level at which people design and communicate design of object-oriented software. So we build a tool for generating design pattern code automatically from a small amount of user-specified information which assists the programmers to apply design patterns. The motivation of writing this thesis is to address this question.