Gof.DesignPatterns
1.2.0
dotnet add package Gof.DesignPatterns --version 1.2.0
NuGet\Install-Package Gof.DesignPatterns -Version 1.2.0
<PackageReference Include="Gof.DesignPatterns" Version="1.2.0" />
<PackageVersion Include="Gof.DesignPatterns" Version="1.2.0" />
<PackageReference Include="Gof.DesignPatterns" />
paket add Gof.DesignPatterns --version 1.2.0
#r "nuget: Gof.DesignPatterns, 1.2.0"
#:package Gof.DesignPatterns@1.2.0
#addin nuget:?package=Gof.DesignPatterns&version=1.2.0
#tool nuget:?package=Gof.DesignPatterns&version=1.2.0
๐งฉ GoF Design Patterns
Design Patterns can speed up the development process by providing tested, proven development paradigms that help produce cleaner and more maintainable software.
โ๏ธ Legal Notice
Code and opinions expressed in this repository are solely my own and do not express the views or opinions of my employer.
This code is not supported by any employer, nor is it profitable or providing any financial benefits.
All work performed during its creation was done in my spare/personal time, driven only by my willingness to help the open-source community.
โ๏ธ Installation
You can install the latest stable version of Gof.DesignPatterns using NuGet:
PM> Install-Package Gof.DesignPatterns -Version 1.1.2
For more details about the package, please visit the NuGet page.
๐ง Overview
This project contains implementations of Gang of Four (GoF) design patterns that can have generic abstractions.
It provides reusable, extensible examples of how to apply these patterns in modern .NET development.
The following GoF Design Pattern categories are included:
๐๏ธ Creational
Creational patterns provide various object creation mechanisms, which increase flexibility and reuse of existing code.
- Abstract Factory
- Builder
- Prototype
- Factory Method
- Singleton
๐งฑ Structural
Structural patterns explain how to assemble objects and classes into larger structures while keeping these structures flexible and efficient.
- Adapter
- Bridge
- Composite
๐ Behavioral
Behavioral design patterns are concerned with algorithms and the assignment of responsibilities between objects.
- Chain of Responsibility
- Command
- Strategy
- Visitor
๐ Resources
- ๐ Refactoring.Guru โ Design Patterns
- ๐งฉ Design Patterns: Elements of Reusable Object-Oriented Software (GoF Book)
๐ฌ Contributing
Contributions and discussions are always welcome!
If you want to improve existing implementations or add new examples, feel free to open an issue or submit a pull request.
๐งพ License
This project is distributed under the MIT License.
You are free to use it for personal or commercial purposes with proper attribution.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
-
.NETStandard 2.1
- No dependencies.
-
net5.0
- No dependencies.
-
net6.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Were created abstractions for the next GoF Design Patterns:
Creational patterns provide various object creation mechanisms, which increase flexibility and reuse of existing code.
* Abstract Factory
* Builder
* Prototype
* Factory Method
* Singleton
Structural patterns explain how to assemble objects and classes into larger structures while keeping these structures flexible and efficient.
* Adapter
* Bridge
* Composite
Behavioral design patterns are concerned with algorithms and the assignment of responsibilities between objects.
* Chain Of Responsibility
* Command
* Strategy
* Visitor