{"id":19637379,"url":"https://github.com/stuymedova/common-design-patterns","last_synced_at":"2026-06-06T21:32:07.686Z","repository":{"id":175357564,"uuid":"653796584","full_name":"stuymedova/common-design-patterns","owner":"stuymedova","description":"[WIP][LEARNING] Annotated Observer, Factory, Singleton, and so on","archived":false,"fork":false,"pushed_at":"2023-08-13T20:21:21.000Z","size":53,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-09T17:04:38.942Z","etag":null,"topics":["computer-science","design-patterns","interview-preparation","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/stuymedova.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-06-14T18:53:16.000Z","updated_at":"2024-06-23T16:26:23.000Z","dependencies_parsed_at":"2024-11-11T12:47:27.368Z","dependency_job_id":null,"html_url":"https://github.com/stuymedova/common-design-patterns","commit_stats":null,"previous_names":["stuymedova/common-design-patterns"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuymedova%2Fcommon-design-patterns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuymedova%2Fcommon-design-patterns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuymedova%2Fcommon-design-patterns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuymedova%2Fcommon-design-patterns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stuymedova","download_url":"https://codeload.github.com/stuymedova/common-design-patterns/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240941503,"owners_count":19882062,"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":["computer-science","design-patterns","interview-preparation","typescript"],"created_at":"2024-11-11T12:34:15.539Z","updated_at":"2025-02-26T21:45:39.140Z","avatar_url":"https://github.com/stuymedova.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Common Design Patterns\n\n\u003c!-- [15/23] --\u003e\n\n### Creational patterns\n\n\u003c!-- [4/5] --\u003e\n\n- [Abstract Factory (p.87)*](./creational-patterns/AbstractFactory/AbstractFactory.ts)\n- [Factory Method (p.107)](./creational-patterns/FactoryMethod/FactoryMethod.ts)\n- [Prototype (p.117)](./creational-patterns/Prototype/Prototype.ts)\n- [Singleton (p.127)](./creational-patterns/Singleton/Singleton.ts)\n\n### Structural patterns\n\n\u003c!-- [5/7] --\u003e\n\n- [Bridge (p.151)](./structural-patterns/Bridge/Bridge.ts)\n- [Adapter (p.139)](./structural-patterns/Adapter/Adapter.ts)\n- [Composite (p.163)](./structural-patterns/Composite/Composite.ts)\n- [Decorator (p.175)](./structural-patterns/Decorator/Decorator.ts)\n- [Proxy (p.207)](./structural-patterns/Proxy/Proxy.ts)\n\n### Behavioral patterns\n\n\u003c!-- [6/11] --\u003e\n\n- [Command (p.233)](./behavioral-patterns/Command/Command.ts)\n- [Iterator (p.257)](./behavioral-patterns/Iterator/Iterator.ts)\n- [Observer (p.293)](./behavioral-patterns/Observer/Observer.ts)\n- [State (p.305)](./behavioral-patterns/State/State.ts)\n- [Strategy (p.315)](./behavioral-patterns/Strategy/Strategy.ts)\n- [Template Method (p.325)](./behavioral-patterns/TemplateMethod/TemplateMethod.ts)\n\n\u003c!--\nInteresting patterns\n\n- Memento\n- Visitor\n- Facade\n- Compound\n--\u003e\n\n\\* Pages here are references to the book \"Design Patterns: Elements of Reusable Object-Oriented Software\" by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Annotations within the files are excerpts from the book.\n\n---\n\nUnderstanding UML:\n- [UML Class Diagrams: Reference](https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2015/modeling/uml-class-diagrams-reference)\n- [Introduction to UML and Design Patterns](https://www.ida.liu.se/~chrke55/courses/SWE/intro-uml-designpatterns)\n\nSee also:\n- [Common Data Structures](https://github.com/stuymedova/common-data-structures)\n- [Common Sorting and Searching Algorithms](https://github.com/stuymedova/common-sorting-and-searching-algorithms)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstuymedova%2Fcommon-design-patterns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstuymedova%2Fcommon-design-patterns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstuymedova%2Fcommon-design-patterns/lists"}