All Projects → Finickyflame → Designpatterns

Finickyflame / Designpatterns

Licence: mit
Simple repository containing one simple example for all existing patterns in C#

Programming Languages

csharp
926 projects

Projects that are alternatives of or similar to Designpatterns

Dotnetcore
.NET 5 Nuget Packages.
Stars: ✭ 146 (-36.8%)
Mutual labels:  dotnet-core, dotnetcore, dot-net
Nsubstitute
A friendly substitute for .NET mocking libraries.
Stars: ✭ 1,646 (+612.55%)
Mutual labels:  dotnet-core, dotnetcore, dot-net
Architecture
.NET 6, ASP.NET Core 6, Entity Framework Core 6, C# 10, Angular 13, Clean Code, SOLID, DDD.
Stars: ✭ 2,285 (+889.18%)
Mutual labels:  dotnet-core, dotnetcore, dot-net
Netbarcode
Barcode generation library written in C# and .NET Standard 2
Stars: ✭ 149 (-35.5%)
Mutual labels:  dotnet-core, dotnetcore, dot-net
Coreclr
CoreCLR is the runtime for .NET Core. It includes the garbage collector, JIT compiler, primitive data types and low-level classes.
Stars: ✭ 12,610 (+5358.87%)
Mutual labels:  dotnet-core, dotnetcore
Storedprocedureefcore
Entity Framework Core extension to execute stored procedures
Stars: ✭ 164 (-29%)
Mutual labels:  dotnet-core, dotnetcore
Urf.core
Unit of Work & Repositories Framework - .NET Core, NET Standard, Entity Framework Core. 100% extensible & lightweight. Live demo: https://goo.gl/QpJVgd
Stars: ✭ 226 (-2.16%)
Mutual labels:  dotnetcore, design-patterns
Jaya
Cross platform file manager application for Windows, Mac and Linux operating systems. (planned mobile support)
Stars: ✭ 219 (-5.19%)
Mutual labels:  dotnet-core, dotnetcore
Dotnet Etcd
A C# .NET (dotnet) GRPC client for etcd v3 +
Stars: ✭ 157 (-32.03%)
Mutual labels:  dotnet-core, dotnetcore
Rocksdb Sharp
.net bindings for the rocksdb by facebook
Stars: ✭ 173 (-25.11%)
Mutual labels:  dotnet-core, dotnetcore
Rafty
Implementation of RAFT consensus in .NET core
Stars: ✭ 182 (-21.21%)
Mutual labels:  dotnet-core, dotnetcore
Dotnet Retire
Open source vulnerability scanner for .NET Core projects
Stars: ✭ 161 (-30.3%)
Mutual labels:  dotnet-core, dotnetcore
Anclafs
ASP.NET Core Library and Framework Support
Stars: ✭ 192 (-16.88%)
Mutual labels:  dotnet-core, dotnetcore
Json Ld.net
A JSON-LD processor for .NET.
Stars: ✭ 171 (-25.97%)
Mutual labels:  dotnet-core, dotnetcore
Justsaying
A light-weight message bus on top of AWS services (SNS and SQS).
Stars: ✭ 157 (-32.03%)
Mutual labels:  dotnet-core, dot-net
Angular 7 Project With Asp.net Core Apis
Angular 7 Project with ASP.NET CORE APIS | Angular Project
Stars: ✭ 174 (-24.68%)
Mutual labels:  dotnet-core, dotnetcore
Corehook
A library that simplifies intercepting application function calls using managed code and the .NET Core runtime
Stars: ✭ 191 (-17.32%)
Mutual labels:  dotnet-core, dotnetcore
Run Aspnetcore
A starter kit for your next ASP.NET Core web application. Boilerplate for ASP.NET Core reference application, demonstrating a layered application architecture with applying Clean Architecture and DDD best practices. Download 100+ page eBook PDF from here ->
Stars: ✭ 227 (-1.73%)
Mutual labels:  dotnet-core, design-patterns
Dntframeworkcore
Lightweight and Extensible Infrastructure for Building Web Applications - Web Application Framework
Stars: ✭ 208 (-9.96%)
Mutual labels:  dotnet-core, design-patterns
Data
Fast DB-independent DAL for .NET Core: abstract queries, SQL commands builder, schema-less data access, POCO mapping (micro-ORM).
Stars: ✭ 150 (-35.06%)
Mutual labels:  dotnetcore, dot-net

Design Patterns

Simple repository containing one simple example for all existing patterns in C#.

Creational

Patterns that flexibly create and instantiate objects for you.

  • Abstract factory groups object factories that have a common theme.
  • Builder constructs complex objects by separating construction and representation.
  • Factory method creates objects without specifying the exact class to create.
  • Prototype creates objects by cloning an existing object.
  • Singleton restricts object creation for a class to only one instance.

Structural

Patterns that define ways to compose objects to obtain new functionality.

  • Adapter allows classes with incompatible interfaces to work together.
  • Bridge decouples an abstraction from its implementation so that the two can vary independently.
  • Composite composes zero-or-more similar objects so that they can be manipulated as one object.
  • Decorator dynamically adds/overrides behaviour in an existing method of an object.
  • Facade provides a simplified interface to a large body of code.
  • Flyweight reduces the cost of creating and manipulating a large number of similar objects.
  • Private Class Data restricts exposure of accessor/mutator by limiting their visibility.
  • Proxy provides a placeholder for another object to control access, reduce cost, and reduce complexity.

Behavioral

Patterns that specifically concern the communication between objects.

  • Chain of responsibility delegates commands to a chain of processing objects.
  • Command creates objects which encapsulate actions and parameters.
  • Interpreter implements a specialized language.
  • Iterator accesses the elements of an object sequentially without exposing its underlying representation.
  • Mediator allows loose coupling between classes by being the only class that has detailed knowledge of their methods.
  • Memento provides the ability to restore an object to its previous state (undo).
  • Observer is a publish/subscribe pattern which allows a number of observer objects to see an event.
  • State allows an object to alter its behavior when its internal state changes.
  • Strategy allows one of a family of algorithms to be selected on-the-fly at runtime.
  • Template method defines the skeleton of an algorithm as an abstract class, allowing its subclasses to provide concrete behavior.
  • Visitor separates an algorithm from an object structure by moving the hierarchy of methods into one object.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].