java-design-patterns
Design patterns implemented in Java
Java Design Patterns shows patterns as commented source
Design patterns implemented in Java, with source code examples the README calls well commented and tutorial like. The site can be browsed by name, by tags, or by pattern categories.
What the repository offers
Java Design Patterns presents itself as design patterns implemented in Java. The README defines design patterns as the best formalized practices a programmer can use to solve common problems, and argues that reusing them speeds up development and improves code readability. The solutions were developed by experienced programmers and architects from the open source community, and the README itself is offered in a long list of languages from Chinese and Korean to French and Arabic.
Browsing and reading the code
Patterns can be browsed by high level descriptions or by reading the source code directly. The README describes the source examples as well commented and usable as programming tutorials on how to implement a specific pattern. You can search by name, by tags such as Performance, Gang of Four, or Data access, or by categories like Creational and Behavioral. Before diving in, the README suggests familiarity with software design principles and starting with KISS, YAGNI, and the simplest thing that could possibly work before adding complexity.
Contributing and the e-book
Contribution details live in a developer wiki, with questions answered in a Gitter chatroom. The patterns are also available as an e-book called Open Source Java Design Patterns, and project contributors can get it for free by contacting the maintainer with an email address, a GitHub username, and a link to an accepted pull request. The project runs on popular battle proven open source Java technologies, per its own words.
Editorial conclusion
Beyond the code, the project ships an e-book titled Open Source Java Design Patterns, offered free to contributors who message the maintainer with a GitHub username and a link to an accepted pull request.
Community notes