Design patterns are known as proven solutions for solving frequently occurring problems in software development. Unfortunately, they do not fully correspond to modularity principles, and their implementations are usually not considered to be reusable. The basic idea of modularity improvement of design patterns is the identification of the crosscutting concerns of several patterns and the isolation of their implementations into reusable aspects that could be extended in order to instantiate the pattern for a specific application