User-821857111 posted
From http://www.dofactory.com/net/design-patterns:
Design patterns are solutions to software design problems you find again and again in real-world application development. Patterns are about reusable designs and interactions of objects.
From http://en.wikipedia.org/wiki/Software_design_pattern:
In software engineering, a design
pattern is a general reusable solution to a commonly occurring problem within a given context in software design. A design pattern is not
a finished design that can be transformed directly into source or machine code.
It is a description or template for how to solve a problem that can be used in many different situations. Patterns are formalized best practices that the
programmer can use to solve common problems when designing an application or system.
As to the rest of your question, a forum post is not the most suitable place to address that. Entire books have been written on types of design patterns and the problems they are designed to solve. You should start off at the dofactory site (the
first link). There are many examples there.