Object-Oriented Programming (OOP) and Patterns
Classes, inheritance, interfaces, and design patterns to write reusable and maintainable code in C#.
Object-Oriented Programming and Patterns
C# is an object-oriented language. This section explores concepts such as classes, inheritance, and polymorphism, along with SOLID principles. Commonly used design patterns like Factory, Singleton, and Observer are also covered.
Goal: Increase code reusability and build maintainable systems.
TL;DR
- Class, Property, Method → OOP fundamentals.
- Interfaces and abstract classes.
- SOLID + design patterns.
Class, Object, Property and Methods in C#
Learn how classes, objects, properties, and methods work in C# and form the core building blocks of object-oriented programming.
Structs in C# – Differences from Classes
Learn the key differences between structs and classes in C#, including memory model, inheritance, boxing, and performance.
Constructors, Destructors and this in C#
Learn how constructors, destructors, and the this keyword work in C# to manage object lifecycle and class-level access.
Sealed, Static, and Partial Classes in C#
Learn the purpose, differences, and use cases of sealed, static, and partial classes in C# with practical examples.
Record Types and Immutable Objects in C#
Learn C# record types and immutable objects, including value equality, with-expressions, and patterns for building safer data models.
Encapsulation, Inheritance, and Polymorphism in C#
Learn encapsulation, inheritance, and polymorphism in C# with clear examples to understand core OOP principles and real use cases.
Interfaces and Abstract Classes in C#
Learn interfaces and abstract classes in C#, their differences, and when to use each approach to design clean and extensible code.
Delegates and Events in C#
Learn delegates and events in C# to build event-driven applications using callbacks, subscriptions, and real-world examples.
Lambda Expressions in C#
Learn lambda expressions in C#, including concise syntax, Func and Action delegates, and practical LINQ usage examples.
Extension Methods in C#
Learn extension methods in C# to add new functionality to existing types without modifying their source code.
Dependency Injection Basics in C#
Learn the basics of Dependency Injection in C#, including managing dependencies, loose coupling, and improving testability.
SOLID Principles with C#
Applying SOLID principles in C# with examples: building flexible, maintainable, and testable code.
Design Patterns in C# (Factory, Singleton, Repository, Observer)
Learn design patterns in C#, including Factory, Singleton, Repository, and Observer, to build flexible and maintainable applications.
Interop in C# (Working with C/C++ Libraries)
Learn how to use Interop in C# to work with C/C++ libraries, including P/Invoke, unmanaged code, and data marshaling.