First, they provide you with a way to solve issues related to software development using a proven solution. ... Software professionals can immediately picture the high-level design in their heads when they refer the name of the pattern used to solve a particular issue when discussing system design.
Design Patterns therefore provide the following benefits.
They give the developer a selection of tried and tested solutions to work with
They are language neutral and so can be applied to any language that supports object-orientation
They aid communication by the very fact that they are well documented and can be researched if that is not the case.
They have a proven track record as they are already widely used and thus reduce the technical risk to the project
They are highly flexible and can be used in practically any type of application or domain