{"id":19033145,"url":"https://github.com/syaw0/design-patterns","last_synced_at":"2025-04-13T13:34:59.050Z","repository":{"id":118387237,"uuid":"569891073","full_name":"Syaw0/Design-Patterns","owner":"Syaw0","description":"most useful design patterns in most use language 💫️ 🏵️","archived":false,"fork":false,"pushed_at":"2023-07-20T19:03:28.000Z","size":219,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-27T04:41:22.124Z","etag":null,"topics":["design-pattern","design-patterns","oop","pattern","patterns"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/Syaw0.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-23T21:18:31.000Z","updated_at":"2024-11-14T14:57:10.000Z","dependencies_parsed_at":"2023-07-29T08:31:27.786Z","dependency_job_id":null,"html_url":"https://github.com/Syaw0/Design-Patterns","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Syaw0%2FDesign-Patterns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Syaw0%2FDesign-Patterns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Syaw0%2FDesign-Patterns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Syaw0%2FDesign-Patterns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Syaw0","download_url":"https://codeload.github.com/Syaw0/Design-Patterns/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248722171,"owners_count":21151211,"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-pattern","design-patterns","oop","pattern","patterns"],"created_at":"2024-11-08T21:35:49.764Z","updated_at":"2025-04-13T13:34:59.028Z","avatar_url":"https://github.com/Syaw0.png","language":"TypeScript","readme":"\n![designPattern](https://user-images.githubusercontent.com/78824988/209479936-89539017-cdb3-4b31-82ea-39b25dfd1ef3.png)\n**A unique repo for top level Software engineer**\n\n\u003c/br\u003e\n\n# Intent\n\n\n\n\nIn software development, a\ndesign pattern is a general\nreusable solution that has\nbeen proven to be effective in\nsolving a common problem or\naddressing a recurring design\nchallenge. A design pattern\ndescribes the problem, its\nsolution, and its associated\ntrade-offs.\n\nDesign patterns are useful in\nsoftware development because\nthey provide a common language\nand framework for developers\nto communicate and share\nideas. They allow developers\nto build on the experience and\nknowledge of other developers\nwho have faced similar design\nchallenges, and to avoid making\ncommon mistakes. By following\ndesign patterns, developers can\nwrite code that is more reliable,\nmaintainable, and scalable.\n\n\nUsing design patterns can\nalso help improve the quality\nand efficiency of software\ndevelopment by reducing the\ntime and cost required for\ndesigning and developing new\nsystems. Design patterns can\nalso improve code clarity and\nreadability, making it easier for\nother developers to understand\nand maintain the code.\nOverall, design patterns are\nan important tool for software\ndevelopers in designing and\nbuilding software systems that\nare robust, maintainable, and\nscalable.\n\n\n\n\n\n\n\u003c/br\u003e\n\n# Category\n\n**Patterns commonly split to three section...**\n\n1. [**Creational Pattern**](#1-creational-pattern)\n2. [**Structural Pattern**](#2-structural-pattern)\n3. [**Behavioral Pattern**](#3-behavioral-pattern)\n\nlets learn about them !\n\n\u003c/br\u003e\n\n\n## 1. Creational Pattern\n**Creational patterns focus on separating the system of creating objects from the main logical system, in this case the construction and matters related to the creation of new objects become very flexible. These patterns provide different mechanisms for creating objects and allow Reuse the existing code.**\n\n\n\u003cbr/\u003e\n\n\n- [**Factory Method**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Creational_Patterns/Factory_Method)\n- [**Abstract Factory**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Creational_Patterns/Abstract_Factory)\n- [**Builder**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Creational_Patterns/Builder)\n- [**Prototype**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Creational_Patterns/Prototype)\n- [**Singleton**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Creational_Patterns/Singleton)\n\n\u003cbr/\u003e\n\n## 2. Structural Pattern\n\n**Structure design patterns explain how different objects and classes can be assembled with each other and larger structure and at the same time keep the structure flexible and efficient.**\n\n \u003cbr/\u003e\n\n- [**Adapter**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Structural_Patterns/Adapter)\n- [**Bridge**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Structural_Patterns/Bridge)\n- [**Composite(Object Tree)**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Structural_Patterns/Composite)\n- [**Decorator**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Structural_Patterns/Decorator)\n\n- [**Flyweight(Cache)**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Structural_Patterns/Flyweight)\n- [**Facade**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Structural_Patterns/Facade)\n- [**Proxy**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Structural_Patterns/Proxy)\n\n\n\u003cbr/\u003e\n\n## 3. Behavioral Pattern\n\n**Behavior patterns simply is  to create and control the connection between objects and also how we interact with this objects.**\n\n- [**Chain Of Responsibility**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Behavioral_Patterns/Chain_Of_Responsibility)\n- [**Command(Action,Transaction)**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Behavioral_Patterns/Command)\n- [**Iterator**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Behavioral_Patterns/Iterator)\n- [**Mediator(Intermediary,Controller)**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Behavioral_Patterns/Mediator)\n- [**Memento(Snapshot)**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Behavioral_Patterns/Memento)\n- [**Observer(Listener,Event-subscriber)**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Behavioral_Patterns/Observer)\n- [**State**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Behavioral_Patterns/State)\n- [**Strategy**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Behavioral_Patterns/Strategy)\n- [**Template**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Behavioral_Patterns/Template)\n- [**Visitor**](https://github.com/Syaw0/Design-Patterns/tree/master/src/Behavioral_Patterns/Visitor)\n\n\u003cbr/\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyaw0%2Fdesign-patterns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyaw0%2Fdesign-patterns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyaw0%2Fdesign-patterns/lists"}