1) Design patterns abstract recurring design structures comprising classes and objects to distill design experience and enable design reuse without reinventing solutions.
2) Common design patterns include abstract factory, adapter, bridge, command, composite, facade, observer, proxy, strategy, and model-view-controller (MVC).
3) The document provides examples of how each pattern addresses common software design problems to improve flexibility, reuse, and understanding of code.