Software design patterns, principles, and snippets
The best designers will use many design patterns that dovetail and intertwine to produce a greater whole --Erich Gamma
Design Patterns
Study the world's largest collection of software design patterns implemented in Java.
Software Design Principles
Software design has certain universal laws and principles to guide the implementors.
Code Snippets
30 Seconds of Java is a collection of reusable, tested, copy-pasteable Java 17 compatible code snippets that you can understand in 30 seconds or less.
Book
Open Source Java Design Patterns book provides a comprehensive guide to various design patterns used in Java programming, illustrated with real-world examples and detailed explanations.
Introduction
Design patterns are the best formalized practices a programmer can use to
solve common problems when designing an application or system.
Design patterns can speed up the development process by providing tested, proven
development paradigms.
Reusing design patterns help prevent subtle issues that cause major
problems, and it also improves code readability for coders and architects who
are familiar with the patterns.
Getting started
This site showcases Java-based design patterns, principles, and code snippets. The
solutions have been developed by experienced programmers and architects from the
open source community. The patterns can be browsed by their high level descriptions
or by looking at their source code. The source code examples are well commented and
can be thought as programming tutorials on how to implement a specific pattern. We
use the most popular battle-proven open source Java technologies.
Hopefully you find the object oriented solutions presented on this site useful
in your architectures and have as much fun learning them as we had developing them.
How to contribute
The website is the result of the work of the open source community. To contribute
to the content, please follow the Github repository links below.