You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,13 +4,13 @@
4
4
</p>
5
5
6
6
## What are Design Patterns?
7
-
In software engineering, a design pattern is a general repeatable solution to a commonly occurring problem in software design.
7
+
In software engineering, a design pattern is a general, repeatable solution to a commonly occurring problem in software design.
8
8
A design pattern isn't a finished design that can be transformed directly into code.
9
9
It is a description or template for how to solve a problem that can be used in many different situations.
10
-
In addition, design patterns allow developers to communicate using well-known, wellunderstood names for software interactions.
10
+
In addition, design patterns allow developers to communicate using well-known, well-understood names for software interactions.
11
11
12
12
Know when to use a certain design pattern, and when not to.
13
-
No design pattern is a 42 - the answer to life, the universe and everything. There are situations in which every design pattern easily becomes an antipattern.
13
+
No design pattern is a 42 - the answer to life, the universe, and everything. There are situations in which every design pattern easily becomes an antipattern.
14
14
15
15
## Design Pattern Types
16
16
Design patterns can be separated into three main categories:
@@ -23,7 +23,7 @@ Design patterns can be separated into three main categories:
23
23
* Behavioral
24
24
> Behavioral patterns are concerned with algorithms and the assignment of responsibilities between objects. Behavioral patterns describe not just the patterns of objects or classes but also the patterns of communication between them.
25
25
26
-
## What this repository contains?
26
+
## What does this repository contain?
27
27
This repository contains a comprehensive design patterns library implemented in C#, which covers various design patterns from the most commonly used ones (Gang of Four) to the lesser-known ones. It enables you to get familiar with and learn design patterns through moderately realistic examples.
28
28
29
29
| Design Pattern | Type | Description | Introduction |
@@ -70,22 +70,22 @@ This repository contains a comprehensive design patterns library implemented in
70
70
71
71
### How to run
72
72
The solution contains one executable project called `DesignPatternsLibrary`.\
73
-
Run the solution and you will get a menu from which you can choose a design pattern.
73
+
You can just run the solution, and you will be presented with a menu from which you can choose a design pattern.
Compare the output from the console with the code for the chosen design pattern.\
79
79
Repeat!
80
80
81
-
The solution can be run using either `.NET 5` (choose .NET 5 [branch](https://github.com/nemanjarogic/DesignPatternsLibrary/tree/dotnet-5) or [release](https://github.com/nemanjarogic/DesignPatternsLibrary/releases/tag/v5.0.0)) or `.NET 6`(the default option).
81
+
The solution is configured to use `.NET 8` as the default option. However, if for some reason you want to use older versions, `.NET 5` and `.NET 6`are supported via branches or releases.
82
82
83
83
### Afterword
84
84
85
85
For learning more about design patterns, I highly recommend:
86
86
- Visiting [Refactoring.Guru](https://refactoring.guru/) website for amazing content about design patterns
87
87
- Reading the `Head First Design Patterns: A Brain-Friendly Guide` book
88
-
- Watching courses about design patterns available on various learning platforms. The idea for this repository has been born after watching [Design Patterns Library course](https://www.pluralsight.com/courses/patterns-library) created by `Steve Smith, Robert Horvick, Brian Lagunas, David Starr, Keith Sparkjoy, Niraj Bhatt, Glenn Block, Scott Allen, John Brown and Donald Belcham`.
88
+
- Watching courses about design patterns available on various learning platforms. The idea for this repository was born after watching [Design Patterns Library course](https://www.pluralsight.com/courses/patterns-library) created by `Steve Smith, Robert Horvick, Brian Lagunas, David Starr, Keith Sparkjoy, Niraj Bhatt, Glenn Block, Scott Allen, John Brown and Donald Belcham`.
89
89
- Visiting blogs like [ExceptionNotFound](https://exceptionnotfound.net/), [Ardalis](https://ardalis.com/blog) or [Enterprise Craftsmanship](https://enterprisecraftsmanship.com/posts)
90
90
91
-
The examples that are used to demonstrate design patterns usage are a mix of my own ideas and ideas adapted from various resources (some of them are mentioned above).
91
+
The examples that are used to demonstrate design patterns usage are a mix of my ideas and ideas adapted from various resources (some of them are mentioned above).
0 commit comments