{"id":22128780,"url":"https://github.com/ibrahimatay/design-patterns","last_synced_at":"2025-07-25T18:31:54.215Z","repository":{"id":57744536,"uuid":"524686852","full_name":"ibrahimatay/Design-Patterns","owner":"ibrahimatay","description":"Design patterns examples in C#, presented in a way that is easy for humans to understand and implement.","archived":false,"fork":false,"pushed_at":"2024-11-18T11:50:26.000Z","size":373,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-11-18T12:59:19.732Z","etag":null,"topics":["csharp-design-patterns","design-patterns","gang-of-four-design-patterns","java-design-patterns"],"latest_commit_sha":null,"homepage":"","language":"C#","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/ibrahimatay.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":"2022-08-14T13:58:22.000Z","updated_at":"2024-11-18T11:50:30.000Z","dependencies_parsed_at":"2023-12-04T22:25:24.031Z","dependency_job_id":"f020da91-9144-479a-98e3-835a4e551da0","html_url":"https://github.com/ibrahimatay/Design-Patterns","commit_stats":null,"previous_names":["ibrahimatay/design-patterns"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibrahimatay%2FDesign-Patterns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibrahimatay%2FDesign-Patterns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibrahimatay%2FDesign-Patterns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibrahimatay%2FDesign-Patterns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ibrahimatay","download_url":"https://codeload.github.com/ibrahimatay/Design-Patterns/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227606468,"owners_count":17792794,"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":["csharp-design-patterns","design-patterns","gang-of-four-design-patterns","java-design-patterns"],"created_at":"2024-12-01T17:47:53.076Z","updated_at":"2025-07-25T18:31:53.971Z","avatar_url":"https://github.com/ibrahimatay.png","language":"C#","readme":"# Design Patterns For Humans\n[![.NET](https://github.com/ibrahimatay/Design-Patterns/actions/workflows/dotnet.yml/badge.svg?branch=main)](https://github.com/ibrahimatay/Design-Patterns/actions/workflows/dotnet.yml)\n\nExamples of design patterns in C# are presented in a way that is easy for humans to understand and implement. These examples provide a practical and intuitive guide to the use of design patterns in C#, helping developers improve their skills and create more effective and maintainable software.\n\n****Note***: Continuous improvements and bug fixes are made within the repository to produce better solutions.*\n\n![image](/docs/images/desing-pattern-relationships.jpeg) \n\n## Application Patterns\n- [CQRS (Command Query Responsibility Segregation)](/DesignPatterns.CQRS/Program.cs)\n- [VIPER (View, Interactor, Presenter, Entity, Router)](/DesignPatterns.VIPER/Program.cs)\n- [MVC (Model, View, Controller)](/DesignPatterns.MVC/Program.cs)\n- [Saga - Orchestration](/DesignPatterns.SAGAOrchestration/Program.cs)\n- [Saga - Choreography](/DesignPatterns.SAGAChoreography/Program.cs)\n- [Bulkhead](/DesignPatterns.Bulkhead/Program.cs)\n- [Circuit Breaker](/DesignPatterns.CircuitBreaker/Program.cs)\n- [Transactional Outbox](/DesignPatterns.Outbox/Program.cs)\n\n## ***Creational***\n- [Factory Method](/DesignPatterns.FactoryMethod/Program.cs)\n- [Abstract Factory](/DesignPatterns.AbstractFactory/Program.cs)      \n- [Builder](/DesignPatterns.Builder/Program.cs)         \n- [Prototype](/DesignPatterns.Prototype/Program.cs)    \n- Singleton\n  - [Double Check Locking](/DesignPatterns.SingletonDoubleCheckLocking/Program.cs)\n  - [Fully Lazy Instantiation](/DesignPatterns.SingletonFullyLazy/Program.cs) \n  - [Lazy Instantiation](/DesignPatterns.SingletonLazyInitialization/Program.cs) \n  - [Not Thread-Safe Singleton](/DesignPatterns.SingletonNotThreadSafe/Program.cs)  \n  - [Static Constructor Singleton](/DesignPatterns.SingletonStaticConstructor/Program.cs)\n\n## ***Structural***\n- [Adapter](/DesignPatterns.Adapter/Program.cs)\n- [Proxy](/DesignPatterns.Proxy/Program.cs)\n- [Facade](/DesignPatterns.Facade/Program.cs)\n- [Composite](/DesignPatterns.Composite/Program.cs)\n- [Bridge](/DesignPatterns.Bridge/Program.cs)\n- [Flyweight](/DesignPatterns.Flyweight/Program.cs)\n- [Decorator](/DesignPatterns.Decorator/Program.cs)\n\n## ***Behavioral***\n- [Command](/DesignPatterns.Command/Program.cs)      \n- [Iterator](/DesignPatterns.Iterator/Program.cs)     \n- [Memento](/DesignPatterns.Memento/Program.cs)        \n- [Observer](/DesignPatterns.Observer/Program.cs)  \n- [Strategy](/DesignPatterns.Strategy/Program.cs) \n- [Template Method](/DesignPatterns.TemplateMethod/Program.cs) \n- [Visitor](/DesignPatterns.Visitor/Program.cs)   \n- [Chain of Responsibility](/DesignPatterns.ChainOfResponsibility/Program.cs)   \n- [Pipeline](/DesignPatterns.Pipeline/Program.cs)\n- [State](/DesignPatterns.State/Program.cs)\n- [Mediator](/DesignPatterns.Mediator/Program.cs)\n\n\n\n## References\nDesign patterns in this repository are based on\n\n* [Design Patterns by The \"Gang of Four\"]\n* [Head First: Design Patterns]\n* [Wikipedia]\n* [Other Documents]\n\n[Design Patterns by The \"Gang of Four\"]: https://en.wikipedia.org/wiki/Design_Patterns\n[Head First: Design Patterns]: http://www.headfirstlabs.com/books/hfdp/ \n[Wikipedia]: https://en.wikipedia.org/wiki/Software_design_pattern\n[Other Documents]: docs\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fibrahimatay%2Fdesign-patterns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fibrahimatay%2Fdesign-patterns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fibrahimatay%2Fdesign-patterns/lists"}