before we begin design patterns as concept the gang of four' book on design patterns seems to be the place where it all started they set forth framework for describing design patterns (specifically for ++)but the description was focused on the solution in generaland as result many of the patterns were translated into number of languages the goal of the design patterns set forth in that book was to codify best-practice solutions to common problems encountered in object-oriented programming as suchthe solutions focus on classes and their methods and attributes these design patterns represent single complete solution idea eachand they keep the things that change separate from the things that do not there are many people who are critical of the original design patterns one of these criticspeter norvigshowed how of the patterns could be replaced by language constructs in lisp many of these replacements are possible in python too in this bookwe are going to look at several of the original design patterns and how they fit into real-world projects we will also consider arguments about them in the context of the python languagesometimes discarding the pattern for solution that comes stock standard with the languagesometimes altering the gof solution to take advantage of the power and expressiveness of pythonand other times simply implementing the original solution in pythonic way what makes design patterndesign patterns can be lot of thingsbut they all contain the following elements (creditpeter norvigpattern name intent/purpose aliases motivation/context problem solution structure participants