{"id":22448138,"url":"https://github.com/ashfaqbs/design-pattern","last_synced_at":"2025-06-30T23:34:00.642Z","repository":{"id":265914653,"uuid":"893125444","full_name":"Ashfaqbs/design-pattern","owner":"Ashfaqbs","description":" curated collection of Java-based design patterns with clear explanations, real-world use cases, and clean implementations. Covers creational, structural, and behavioral patterns with a focus on clarity, modularity, and relevance to modern system design.","archived":false,"fork":false,"pushed_at":"2025-06-30T06:20:39.000Z","size":921,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-30T07:27:49.898Z","etag":null,"topics":["design-patterns","singelton-pattern"],"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/Ashfaqbs.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,"zenodo":null}},"created_at":"2024-11-23T15:49:30.000Z","updated_at":"2025-06-30T06:20:43.000Z","dependencies_parsed_at":"2024-12-01T14:30:53.481Z","dependency_job_id":"ead4e487-e0ee-436e-ac81-40764cb20f02","html_url":"https://github.com/Ashfaqbs/design-pattern","commit_stats":null,"previous_names":["ashfaqbs/design-pattern"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Ashfaqbs/design-pattern","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashfaqbs%2Fdesign-pattern","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashfaqbs%2Fdesign-pattern/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashfaqbs%2Fdesign-pattern/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashfaqbs%2Fdesign-pattern/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ashfaqbs","download_url":"https://codeload.github.com/Ashfaqbs/design-pattern/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashfaqbs%2Fdesign-pattern/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262868516,"owners_count":23377268,"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","singelton-pattern"],"created_at":"2024-12-06T04:21:23.517Z","updated_at":"2025-06-30T23:34:00.633Z","avatar_url":"https://github.com/Ashfaqbs.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Design patterns are reusable solutions to common software design problems. In Java, they are categorized broadly into three main types: \n\n1. **Creational Design Patterns**  \n   Focus: Object creation mechanisms to create objects in a way that is suitable for the situation.  \n   - Help make the system independent of how objects are created, composed, and represented.  \n   - Key idea: **Control object creation to ensure flexibility and reuse.**\n\n   **Examples:**  \n   - Singleton  \n   - Factory Method  \n   - Abstract Factory  \n   - Builder  \n   - Prototype  \n\n2. **Structural Design Patterns**  \n   Focus: Class and object composition to form larger structures.  \n   - Help ensure that different parts of a system work together in a flexible and efficient way.  \n   - Key idea: **Simplify relationships between objects or combine them for new functionality.**\n\n   **Examples:**  \n   - Adapter  \n   - Bridge  \n   - Composite  \n   - Decorator  \n   - Facade  \n   - Flyweight  \n   - Proxy  \n\n3. **Behavioral Design Patterns**  \n   Focus: Interaction and communication between objects.  \n   - Help define how objects interact, how responsibilities are distributed, and how workflows are controlled.  \n   - Key idea: **Streamline complex communication between objects.**\n\n   **Examples:**  \n   - Chain of Responsibility  \n   - Command  \n   - Interpreter  \n   - Iterator  \n   - Mediator  \n   - Memento  \n   - Observer  \n   - State  \n   - Strategy  \n   - Template Method  \n   - Visitor  \n\n### Quick Analogy for Understanding Types  \n1. **Creational Patterns:** Think of building a house. You decide how to construct it: blueprint (Prototype), modular pieces (Builder), or hiring a factory (Factory Method).  \n2. **Structural Patterns:** Consider how you connect rooms: walls (Adapter), open spaces (Bridge), or fancy decorations (Decorator).  \n3. **Behavioral Patterns:** It’s about how people in the house interact: assigning tasks (Command), following workflows (Template Method), or broadcasting news (Observer).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashfaqbs%2Fdesign-pattern","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fashfaqbs%2Fdesign-pattern","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashfaqbs%2Fdesign-pattern/lists"}