Java Programming Tutorials

Java programming tutorials with many code examples!

Design Patterns

Software Design Patterns are reusable solutions to commonly occurring design problems within a context. Knowledge of Design Patterns allows to build robust, and maintainable software.

Some patterns are language specific, but many are language and technology agnostic. Patterns can be applied on different levels – implementation, component, and architecture.

Problem, Solution, Context

It’s important to understand that Design Patterns are skeletons of solutions to some problems and always should be evaluated in a given context if they fit or not. Sometimes many patterns can solve the same problem, but context evaluation tells which one will do it best.
Beware that using Design Patterns blindly may lead to complex, over-engineered software. This happens sometimes when developers learn new patterns and don’t fully understand their intent and applicable context (for example the Singleton is often misunderstood and misapplied).

Clean code patterns

SOLID

Gang of Four Design Patterns

Factory Pattern

Share with the World!