Software design patterns

Design patterns are optimized, reusable solutions to the programming problems that we encounter every day. A design pattern is not a class or a library that we can simply plug into our system; it’s much more than that. It is a template that has to be implemented in the correct situation (Bautista, 2010).

The Gang of Four are the authors of the book, “Design Patterns: Elements of Reusable Object-Oriented Software”. This important book describes various development techniques and pitfalls in addition to providing 23 object-oriented programming design patterns (Carr, 2009).
Gof design patterns (Vaka, 2013).

When To Use Software Design Patterns (Hegoda, 2013).

One of the hardest question is which software design pattern to be applied when. Usually there isn’t a pattern to figure out which design pattern should be used. It comes through the understanding & experience of using design patterns correctly (Hegoda, 2013).

Design patterns are related to object-oriented programming, in this video Derek Banas makes a great tutorial that includes the topics:


Carr, R. (22 August 2009). Gang of Four Design Patterns. Black Wasp. Retrieved from:

Bautista, K. (7 July 2010). A Beginner’s Guide to Design Patterns. Envatotuts+. Retrieved from:–net-12752

Hegoda, D. (6 October 2013). Why? When to? Software Design Patterns. Retrieved from:

Vaka, S. (16 January 2013). Gof design patterns. Slideshare. Retrieved from: