Bookmark Topic Watch Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Tim Cooke
  • Ron McLeod
  • Jeanne Boyarsky
  • Paul Clapham
  • Liutauras Vilda
  • Henry Wong
  • Devaka Cooray
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Al Hobbs
  • Carey Brown
  • Piet Souris
  • Mikalai Zaikin
  • Himai Minh
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Report post to moderator
Also see the DesignPatternFaq Patterns Library
Java Design Patterns At a Glance

Some Early Classics -- some can now only be visited via. the WayBack Machine, if you are reading something that refers to them, you may want to visit them, most of these are rather old now:
The Design Patterns Java Companion
James W. Cooper's 1998 website and book. It appears to have been an Early Classic for these topics in Java, meant to be read by Java programmers reading the GoF book first, after, or at the same time.
Extensive examples in Java 1.1 / 2.0 (mostly Swing-based). In practice that means raw Vector instead of ArrayList<T>, illustration of the Iterator pattern using Enumeration, HashTable instead of HashMap<K,V> etc.:
Alternate site for the full PDF:

Portland Pattern Repository aka Wards Wiki
Pattern Stories Wiki (WayBack Machine)
[url=" target="_blank" rel="nofollow">
A Learning Guide To Design Patterns
Thinking In Patterns - just a draft of a never-published book, but, it is by Bruce Eckel, so may be worth a look

Exciton Design Patterns Page (WayBack Machine)
Java Design Patterns - Reference and Examples -- Very Nice (WayBack Machine)

EJB Design Patterns by Floyd Marinescu
J2EE Design Patterns Catalog by Sun Microsystems
J2EE Patterns link list
Designing Web Applications and Servlet Patterns

Patterns of Enterprise Application Architecture

Newer and Fresher Links to Sites that Are Still Updated:

Vince Huston%27s Design Patterns Page (newer home for a Classic Site that has been around, and updated, for many years)

Design Patterns motivated by stories. This site contains examples in Java, also C#, Python and C++ and is designed to be a good introduction for those new to the topic:

This site has a somewhat annoying level of ads on it currently, however, it seems to get a lot of traffic, feedback, complaints and comments, so you get some extra viewpoints for free:

These sites are also selling books, but there is a surprisingly large amount of fairly detailed information available for free on their sites as well, covering many different spoken and programming languages and apparently quite up to date:

This site seems very up-to-date and goes way, WAY beyond the original GoF patterns:

They are selling a certification, but there is a lot of material here, all free, and a downloadable PDF book containing all the material, also for free. Initial impressions are good:

What about video playlists?
Elsewhere on the Ranch we had topics about "Do you prefer to learn from books or videos?"
The responses were very interesting. It is clear that many people either say "videos" or "both" and this page was rather lacking in free publicly-available video materials, until now.

Here are some YouTube playlists, all made with Good Intent and containing some excellent tutorial material.
Occasionally they have a weird take on or a weird implementation of some of the Design Patterns, this is fine if you are watching these as a reinforcement of and supplement to reading the books, or watching several different presenters, but Your Mileage May Vary.
If you find one hard to understand or it seems they might have been confused about it, you can go back to the books and blogs or watch one of the other people%27s takes on it, they do vary a lot as Design Patterns are general ideas, not detailed recipes.

From CodeSpace:

From Coding Simplified:
Also has his code samples available at:

A very popular series from Derek Banas:

Probably the most colorful and exciting and high-energy of the bunch.
He occasionally strays from strict Java being multi-lingual, like he might write : MyInterface or : MyAbstractClass instead of implements or extends as a keyword, but almost everything in the videos does apply correctly to Java.
If you find the other ones putting you to sleep, too short/hasty or a bit boring, these feel like you are watching a highly animated tv presenter (Christopher Okhravi):

KK Java Tutorials has a lot of material on Java in General that I consider fairly high-quality.
On a couple of these videos I thought he had a weird take of its True Meaning of a pattern or an awkward Java implementation of it, but it is relatively complete and I think most of them are explained quite solidly:

You can get all the code examples and textual descriptions of what is covered in the videos here:
(he also links back to his videos)

Java9s playlist is shorter than a few of the others, the best I can say about it is there were a couple of Patterns I wasn%27t *quite* getting from the other presentations, and for some reason I saw his and felt "Okay, I%27ve got this now. I get it!"

As is usual for this presenter, he probably has "the most material" on this topic as well as others.
In general I have found some errors in his material, and the ones that are there tend to be widely repeated thru-out different videos and playlists.

On the other hand, I have also learned a lot from him, and he definitely covers more stuff on most topics, and definitely in the case of Design Patterns. So while he won%27t be everyone%27s favorite, it would be wrong to omit these:

Tons of videos, many, many pages of exposition, slides and code samples.
I%27ve only sampled a few so it is hard to gauge quality accurately.
Most of these seem to have been prepared slightly before the release of Java 8.

    Bookmark Topic Watch Topic
  • New Topic