Skip to content

Files

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
blog home icon title heroImage heroText tagline heroFullScreen action features
false
true
home
Java Design Patterns
/coffee.svg
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
true
text link type
Study the design patterns 💡
/patterns/
primary
title details link icon
Design Patterns
Study the world's largest collection of software design patterns implemented in Java.
/patterns/
home
title details link icon
Software Design Principles
Software design has certain universal laws and principles to guide the implementors.
/principles/
certificate
title details link icon
Code Snippets
30 Seconds of Java is a collection of reusable, tested, copy-pasteable Java 11 compatible code snippets that you can understand in 30 seconds or less.
/snippets/
code

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.