/object-oriented-programming-in-sharp

exploring design patterns and principles. 100% in C#

Primary LanguageC#GNU General Public License v3.0GPL-3.0

Design Patterns and Principles

Design patterns and principles are essential concepts in programming that help developers write better, more maintainable code. They provide structured solutions to common software design problems and promote best practices in software development.Design patterns and principles are not interchangeable; they serve different purposes:

Design Patterns

  • are documented and tested solutions for recurring problems in a given context.
  • Provide a proven template to solve particular design challenges.

Design principles

  • General guidelines that help developers create better software architecture.
  • Promote maintainability, scalability, and readability.

Design pattern types

  1. Creational Patterns - deal with object creation mechanisms, trying to create objects in a manner suitable to the situation.
  2. Structural Patterns - focus on class and object composition to form larger structures.
  3. Behavioral Patterns - focus on communication between objects.

SOLID design principles

SOLID is an acronym that represents five key design principles aimed at making software easier to manage and extend.

What i used ?

  1. The code was mostly takes from here and here
  2. The UML diagrams used to show the relation of classes was taken from here
  3. A lot of terms were explored in refactoring.guru

License

This project is licensed under the GNU General Public License.