Skip to content

hganchev/csharp-learning

Repository files navigation

C# Learning Repository

A comprehensive collection of C# learning projects demonstrating various programming concepts, design principles, and best practices.

📚 Projects

Quick links to each project:


🎯 Project Overview

1. Programming Paradigms Examples

Location: paradigms-examples/

A comprehensive demonstration of major programming paradigms implemented in C#, showcasing real-world examples of different programming approaches.

Key Topics:

  • Object-Oriented Programming (OOP)
  • Functional Programming
  • Procedural/Imperative Programming
  • Event-Driven Programming
  • Structured Programming

Tech Stack: .NET 9.0, C# 12.0

2. Test Driven Development (TDD) Examples

Location: tdd-examples/

Comprehensive TDD practices using xUnit testing framework with real-world examples of test-first development.

Key Topics:

  • Red-Green-Refactor cycle
  • Unit testing with xUnit
  • Mocking and stubbing
  • Data-driven testing
  • Business logic validation

Examples Include: Calculator, BankAccount, ShoppingCart, SQLQueries

3. SOLID Principles Examples

Location: solid-examples/

Demonstration of SOLID design principles with clear problem/solution examples and dependency injection patterns.

Key Topics:

  • Single Responsibility Principle (SRP)
  • Open/Closed Principle (OCP)
  • Liskov Substitution Principle (LSP)
  • Interface Segregation Principle (ISP)
  • Dependency Inversion Principle (DIP)
  • Dependency Injection patterns

4. Design Patterns

Location: design-patterns/

Essential creational design patterns with practical examples and comprehensive demo code.

Patterns Implemented:

  • Factory Pattern
  • Abstract Factory Pattern
  • Builder Pattern
  • Prototype Pattern
  • Singleton Pattern

5. Sololearn Course

Location: sololearn/

C# exercises and examples from the Sololearn course.


🚀 Getting Started

Each project has its own README with specific instructions. Generally, you can:

# Clone the repository
git clone https://github.com/hganchev/csharp-learning.git
cd csharp-learning

# Navigate to a specific project
cd paradigms-examples  # or any other project folder

# Build and run
dotnet build
dotnet run

🛠️ Requirements

  • .NET 9.0 or later (some projects may work with earlier versions)
  • C# 12.0 features recommended
  • Visual Studio 2022 or VS Code with C# extension

📖 Learning Path

Recommended order for beginners:

  1. Sololearn Course - Start with basics
  2. Programming Paradigms - Understand different programming approaches
  3. SOLID Principles - Learn design principles
  4. Design Patterns - Study common solutions to recurring problems
  5. TDD Examples - Practice test-driven development

🤝 Contributing

Contributions are welcome! Please ensure any contributions:

  • Include comprehensive documentation
  • Follow existing code style and structure
  • Provide practical, real-world examples
  • Include proper error handling and validation

📝 License

This repository is for educational purposes.

About

repo for c# architecture and learning

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages