Design Patterns for Humans is an effort to explain design patterns in plain words and simple examples.
Design patterns are solutions to recurring problems; guidelines on how to tackle certain problems. They are not classes, packages or libraries that you can plug into your application and wait for the magic to happen. These are, rather, guidelines on how to tackle certain problems in certain situations.This collection is useful both for novices who are just trying to figure out what design patterns are and how to use them, and experienced developers who need a quick reminder once in a while.
Shorter than a book, simpler than Wikipedia.