# DesignPatterns **Repository Path**: polarbeargit/DesignPatterns ## Basic Information - **Project Name**: DesignPatterns - **Description**: No description available - **Primary Language**: C# - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-16 - **Last Updated**: 2025-04-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Design Patterns Design patterns are solutions to recurring problems; guidelines on how to tackle certain problems. I have included implementations of some design patterns in C# to help beginners like me get their feet wet. There are better alternatives available for some of them in the .NET Framework, so this is by no means a comprehensive tutorial. Any comments and suggestions are welcome. If you want to add a new design pattern implementation, just follow the naming convention, fork my repo and submit a pull request. Same goes for any improvements and modifications. This was created as a C# alternative to Java while reading https://www.oreilly.com/library/view/head-first-design/0596007124/ <- take a look at it if anything confuses you. ## Types of Design Patterns --------------------------- There are three kinds of Design Patterns: * Creational * Structural * Behavioral ## List of Design Pattern Implementations ----------------------------------------- * [Adapter](/AdapterPattern) * [Bridge](/BridgePattern) * [Builder](/BuilderPattern) * [ChainOfResponsibility](/ChainOfResponsibilityPattern) * [Command](/CommandPattern) * [Composite](/CompositePattern) * [Decorator](/DecoratorPattern) * [Facade](/FacadePattern) * [Factory](/FactoryPattern) * [Flyweight](/FlyweightPattern) * [Iterator](/IteratorPattern) * [Mediator](/MediatorPattern) * [Observer](/ObserverPattern) * [Prototype](/PrototypePattern) * [Proxy](/ProxyPattern) * [Singleton](/SingletonPattern) * [SingletonPattern.Tests](/SingletonPattern.Tests) * [State](/StatePattern) * [Strategy](/StrategyPattern) * [Template](/TemplatePattern) * [Visitor](/VisitorPattern)