Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

gazbert/java-design-patterns

Repository files navigation

Java Design Patterns

Gradle CI Maven CI

A cookbook of commonly used Java design patterns based on examples from:

  • "Design Patterns: Elements of Reusable Object-Oriented Software" - Gamma et al
  • "Head First Design Patterns" - Freeman et al
  • "Java Design Pattern Essentials" - Tony Brevis

Each pattern is contained in its own package. The Javadoc will provide more details and the unit tests will demonstrate how to use it.

Any comments/bugs/better ways of doing things, send 'em my way.

Design Patterns

Behavioural

  1. State
  2. Chain of Responsibility
  3. Strategy
  4. Observer
  5. Command
  6. Template Method
  7. Visitor

Creational

  1. Builder
  2. Factory Method
  3. Static Factory Method / Simple Factory Method
  4. Abstract Factory
  5. Singleton

Structural

  1. Adapter
  2. Decorator
  3. Facade

Build Guide

You'll need JDK 21+ installed on your dev box.

Gradle

You can use the included Gradle wrapper to build the project and pull down the dependencies:

./gradlew build

The Javadoc can be found in the <project-root>/build/docs/javadoc folder after you execute the build.

Maven

You can use the included Maven wrapper to build the project and pull down the dependencies:

./mvnw clean install

The Javadoc can be found in the <project-root>/target/apidocs folder after you execute the build.

Contributing

Issues and new features are managed using the project Issue Tracker - submit bugs here.

You are welcome to take on new features or fix bugs! See here for how to get involved.

About

A cookbook of simple Java design patterns.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors 2

Languages

AltStyle によって変換されたページ (->オリジナル) /