{"id":19935286,"url":"https://github.com/dueyfinster/javadesignpatterns","last_synced_at":"2025-05-03T12:31:19.341Z","repository":{"id":6879464,"uuid":"8128688","full_name":"dueyfinster/JavaDesignPatterns","owner":"dueyfinster","description":"Design Patterns in Java ","archived":false,"fork":false,"pushed_at":"2023-08-18T16:28:47.000Z","size":141,"stargazers_count":5,"open_issues_count":0,"forks_count":4,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-03-15T05:20:59.216Z","etag":null,"topics":["design-patterns","java"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dueyfinster.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-02-10T21:58:22.000Z","updated_at":"2023-08-18T16:28:53.000Z","dependencies_parsed_at":"2022-08-26T10:11:37.206Z","dependency_job_id":null,"html_url":"https://github.com/dueyfinster/JavaDesignPatterns","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dueyfinster%2FJavaDesignPatterns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dueyfinster%2FJavaDesignPatterns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dueyfinster%2FJavaDesignPatterns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dueyfinster%2FJavaDesignPatterns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dueyfinster","download_url":"https://codeload.github.com/dueyfinster/JavaDesignPatterns/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224360646,"owners_count":17298401,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["design-patterns","java"],"created_at":"2024-11-12T23:19:22.793Z","updated_at":"2024-11-12T23:19:23.371Z","avatar_url":"https://github.com/dueyfinster.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/dueyfinster/JavaDesignPatterns.png)](https://travis-ci.org/dueyfinster/JavaDesignPatterns)\n[![Circle CI](https://circleci.com/gh/dueyfinster/JavaDesignPatterns.svg?style=svg)](https://circleci.com/gh/dueyfinster/JavaDesignPatterns)\n[![Build status](https://ci.appveyor.com/api/projects/status/ael2iylv4arw5hwt?svg=true)](https://ci.appveyor.com/project/dueyfinster/designpatterns)\n[![codecov](https://codecov.io/gh/dueyfinster/JavaDesignPatterns/branch/master/graph/badge.svg)](https://codecov.io/gh/dueyfinster/JavaDesignPatterns)\n[![Coverage Status](https://coveralls.io/repos/github/dueyfinster/JavaDesignPatterns/badge.svg?branch=master)](https://coveralls.io/github/dueyfinster/JavaDesignPatterns?branch=master)\n\n# Overview \nA collection of design patterns in Java. \nMy aim is to implement all of them (with documentation) as a learning resource/ reference point for myself and others.\n\n| ~~Creational~~  \t\t| Structural \t| Behavioral \t\t\t\t\t|\n| ------------- \t\t| ------------- | ------------- \t\t\t\t|\n| ~~Abstract factory~~  | ~~Adapter~~  \t| ~~Chain of responsibility~~\t|\n| ~~Builder~~  \t\t\t| ~~Bridge~~  \t| ~~Command~~ \t\t\t\t\t|\n| ~~Factory~~  \t\t\t| ~~Composite~~ | ~~Iterator~~  \t\t\t\t|\n| ~~Prototype~~  \t\t| ~~Decorator~~ | ~~Mediator~~  \t\t\t\t|\n| ~~Singleton~~  \t\t| ~~Facade~~  \t| ~~Memento~~  \t\t\t\t\t|\n| ~~Object pool~~  \t\t| ~~Flyweight~~ | ~~Observer~~  \t\t\t\t|\n| \t\t\t\t\t\t| ~~Proxy~~  \t| ~~State~~  \t\t\t\t\t|\n| \t\t\t\t\t\t| \t\t\t\t| ~~Strategy~~  \t\t\t\t|\n| \t\t\t\t\t\t| \t\t\t\t| ~~Template method~~  \t\t\t|\n| \t\t\t\t\t\t| \t\t\t\t| ~~Visitor~~  \t\t\t\t\t|\n\n## Building\nTo build, just do a Maven build. Also included is findbugs, jacoco, PMD and checkstyle.\n\n## Running \nTests are written that run and explain each pattern - so you can try them individually.\n\n## Pull Requests \nPull requests are very much welcome! Please note, every pull request should have:\n\n* A matching JUnit Test (with good coverage)\n* Run and fixed any checkstyle errors (run `mvn checkstyle:checkstyle`) [if you don't build will fail]\n* PMD (run `mvn pmd:pmd`) and Findbugs should also be run and best effort to resolve issues\n\n## Contributors\n* Neil Grogan (dueyfinster)\n* Mark Howard (bark4mark)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdueyfinster%2Fjavadesignpatterns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdueyfinster%2Fjavadesignpatterns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdueyfinster%2Fjavadesignpatterns/lists"}