{"id":18602805,"url":"https://github.com/cihatsolak/dotnet-design-patterns","last_synced_at":"2025-07-31T04:04:48.612Z","repository":{"id":107470578,"uuid":"567902164","full_name":"cihatsolak/dotnet-design-patterns","owner":"cihatsolak","description":"A design pattern is a general repeatable solution to a commonly occurring problem in software design. A design pattern isn't a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations.","archived":false,"fork":false,"pushed_at":"2023-01-23T21:03:56.000Z","size":12269,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-19T22:20:56.482Z","etag":null,"topics":["adapter-design-pattern","chain-of-responsibility-pattern","command-desing-pattern","composite-design-pattern","decorator-pattern","observer-design-pattern","strategy-design-pattern","template-design-pattern"],"latest_commit_sha":null,"homepage":"","language":"C#","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/cihatsolak.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-18T21:25:27.000Z","updated_at":"2022-12-04T14:10:01.000Z","dependencies_parsed_at":"2023-05-17T13:30:43.136Z","dependency_job_id":null,"html_url":"https://github.com/cihatsolak/dotnet-design-patterns","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cihatsolak/dotnet-design-patterns","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cihatsolak%2Fdotnet-design-patterns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cihatsolak%2Fdotnet-design-patterns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cihatsolak%2Fdotnet-design-patterns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cihatsolak%2Fdotnet-design-patterns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cihatsolak","download_url":"https://codeload.github.com/cihatsolak/dotnet-design-patterns/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cihatsolak%2Fdotnet-design-patterns/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267985087,"owners_count":24176364,"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","status":"online","status_checked_at":"2025-07-31T02:00:08.723Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["adapter-design-pattern","chain-of-responsibility-pattern","command-desing-pattern","composite-design-pattern","decorator-pattern","observer-design-pattern","strategy-design-pattern","template-design-pattern"],"created_at":"2024-11-07T02:12:36.315Z","updated_at":"2025-07-31T04:04:48.583Z","avatar_url":"https://github.com/cihatsolak.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# :triangular_flag_on_post: Net Design Patterns\n\n### :green_circle: Strategy Design Pattern\n\nThe strategy pattern (also known as the policy pattern) is a behavioral software design pattern that enables selecting an algorithm at runtime. Instead of implementing a single algorithm directly, code receives run-time instructions as to which in a family of algorithms to us\n\n### :green_circle: Template Design Pattern\n\nThe template method is a method in a superclass, usually an abstract superclass, and defines the skeleton of an operation in terms of a number of high-level steps. These steps are themselves implemented by additional helper methods in the same class as the template method.\n\n### :green_circle: Command Design Pattern\n\nThe command pattern is a behavioral design pattern in which an object is used to encapsulate all information needed to perform an action or trigger an event at a later time. This information includes the method name, the object that owns the method and values for the method parameters.\n\n### :green_circle: Observer Design Pattern\n\nThe observer pattern is a software design pattern in which an object, named the subject, maintains a list of its dependents, called observers, and notifies them automatically of any state changes, usually by calling one of their methods.\n\n### :green_circle: Chain Of Responsibility Design Pattern\n\nThe chain-of-responsibility pattern is a design pattern consisting of a source of command objects and a series of processing objects.[1] Each processing object contains logic that defines the types of command objects that it can handle; the rest are passed to the next processing object in the chain. A mechanism also exists for adding new processing objects to the end of this chain.\n\n### :green_circle: Composite Design Pattern\n\nThe composite pattern is a partitioning design pattern. The composite pattern describes a group of objects that are treated the same way as a single instance of the same type of object. The intent of a composite is to \"compose\" objects into tree structures to represent part-whole hierarchies. Implementing the composite pattern lets clients treat individual objects and compositions uniformly\n\n### :green_circle: Adapter Design Pattern\n\nThe adapter pattern is a software design pattern (also known as wrapper, an alternative naming shared with the decorator pattern) that allows the interface of an existing class to be used as another interface.[1] It is often used to make existing classes work with others without modifying their source code.\n\n### :green_circle: Decorator Design Pattern\n\nThe decorator pattern is a design pattern that allows behavior to be added to an individual object, dynamically, without affecting the behavior of other objects from the same class\n\n#### Contact Addresses\n##### Linkedin: [Send a message on Linkedin](https://www.linkedin.com/in/cihatsolak/)\n##### Twitter: [Go to @cihattsolak](https://twitter.com/cihattsolak)\n##### Medium: [Read from medium](https://cihatsolak.medium.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcihatsolak%2Fdotnet-design-patterns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcihatsolak%2Fdotnet-design-patterns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcihatsolak%2Fdotnet-design-patterns/lists"}