{"id":26695509,"url":"https://github.com/omar-ahmed314/design-patterns","last_synced_at":"2026-02-26T07:12:46.620Z","repository":{"id":128840248,"uuid":"597510127","full_name":"Omar-ahmed314/Design-Patterns","owner":"Omar-ahmed314","description":"GOF Design Patterns","archived":false,"fork":false,"pushed_at":"2023-03-04T19:59:42.000Z","size":363,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-13T01:32:34.259Z","etag":null,"topics":["clean-code","design-patterns","java","solid-principles"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Omar-ahmed314.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-04T19:13:53.000Z","updated_at":"2023-03-09T00:41:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"b243ec83-ae85-49dd-8958-74cfe41feb6a","html_url":"https://github.com/Omar-ahmed314/Design-Patterns","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Omar-ahmed314/Design-Patterns","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Omar-ahmed314%2FDesign-Patterns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Omar-ahmed314%2FDesign-Patterns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Omar-ahmed314%2FDesign-Patterns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Omar-ahmed314%2FDesign-Patterns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Omar-ahmed314","download_url":"https://codeload.github.com/Omar-ahmed314/Design-Patterns/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Omar-ahmed314%2FDesign-Patterns/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263426646,"owners_count":23464800,"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":["clean-code","design-patterns","java","solid-principles"],"created_at":"2025-03-26T19:20:30.625Z","updated_at":"2026-02-26T07:12:41.599Z","avatar_url":"https://github.com/Omar-ahmed314.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Design Patterns\nThis repo contains the GOF popular design patterns combined with a simple description, a class \ndiagram, and a code example demonstrates the idea.\n\nDesign patterns classified into three categories:\n- Creational Patterns\n- Structural Patterns\n- Behavioral Patterns\n\n## Creational Patterns\nThose patterns try to solve the common problems related to how the objects\ncan be created.\n\ncommon patterns:\n- [Factory](src/com/designPatterns/CreationalPatterns/FactoryPattern)\n- [Abstract Factory](src/com/designPatterns/CreationalPatterns/AbstractFactoryMethod)\n- [Builder](src/com/designPatterns/CreationalPatterns/BuilderPattern)\n- [Prototype](src/com/designPatterns/CreationalPatterns/PrototypePattern)\n- [Singleton](src/com/designPatterns/CreationalPatterns/SingletonPattern)\n\n## Structural Patterns\nPatterns concern with how the objects composite with each other or how objects\nconstructed to form another one.\n\ncommon patterns:\n- [Adapter](src/com/designPatterns/StructuralPatterns/AdapterPattern)\n- [Bridge](src/com/designPatterns/StructuralPatterns/BridgePattern)\n- [Composite](src/com/designPatterns/StructuralPatterns/CompositePattern)\n- [Decorator](src/com/designPatterns/StructuralPatterns/Decorator)\n- [Facade](src/com/designPatterns/StructuralPatterns/Facade)\n- [Fly weight](src/com/designPatterns/StructuralPatterns/FlyWeight)\n\n## Behavioral Patterns\nPatterns which care how objects talk with each other, or how they communicate\nwell the way that makes them easy to extend, manipulate and reuse.\nAlso, they matter with encapsulation, whether encapsulating the communication\nbetween the objects, the behavior from the class and etc\n\ncommon patterns:\n- [Chain of responsibilities](src/com/designPatterns/BehavioralPatterns/ChainOfResponsibilities)\n- [Command](src/com/designPatterns/BehavioralPatterns/Command)\n- [Iterator](src/com/designPatterns/BehavioralPatterns/Iterator)\n- [Mediator](src/com/designPatterns/BehavioralPatterns/Mediator)\n- [Memento](src/com/designPatterns/BehavioralPatterns/Memento)\n- [Observer](src/com/designPatterns/BehavioralPatterns/Observer)\n- [State](src/com/designPatterns/BehavioralPatterns/State)\n- [Strategy](src/com/designPatterns/BehavioralPatterns/Strategy)\n- [Template](src/com/designPatterns/BehavioralPatterns/Template)\n- [Visitor](src/com/designPatterns/BehavioralPatterns/Visitor)\n\n## References\n- [Design Patterns in object oriented programming](https://youtube.com/playlist?list=PLrhzvIcii6GNjpARdnO4ueTUAVR9eMBpc)\n- [Creational Design Patterns](https://youtube.com/playlist?list=PLnqAlQ9hFYdewk9UKGBcHLulZNUBpNSKJ)\n- [Derek Banas](https://youtube.com/playlist?list=PLF206E906175C7E07)\n- [Geekific](https://youtube.com/playlist?list=PLlsmxlJgn1HJpa28yHzkBmUY-Ty71ZUGc)\n- [Head first design patterns book](https://www.oreilly.com/library/view/head-first-design/9781492077992/)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomar-ahmed314%2Fdesign-patterns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fomar-ahmed314%2Fdesign-patterns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomar-ahmed314%2Fdesign-patterns/lists"}