Design Patterns The vast majority of examples are taken from the following sources: Head First Design Patterns by Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra. O'Reilly, 2004. ISBN: 0-596-00712-4 https://github.com/iluwatar/java-design-patterns