Learn it from developers who built it.
Tutorials, how-tos and deep dives on AI, .NET, C#, cloud and developer tools, written by the community.
This beginner’s tutorial explores the Service Locator Pattern in C#. Despite its decline in favor of Dependency Injection, it remains relevant for legacy systems. The tutorial covers its implementation, the Dependency Inversion Principle (DIP), static and dynamic versions, and pros/cons.
Learn the SOLID principles in C#—SRP, OCP, LSP, ISP, and DIP—and how they help create loosely coupled, maintainable object-oriented software.
In this article, we will explore the versatile Decorator Pattern in C#, presented in 3 different versions. Enhance your understanding of object-oriented design with this powerful pattern, offering flexible ways to add functionality to objects dynamically.
This article, Explores various strategies for responsive design, including CSS media queries, flexible layouts, and mobile-first approaches. Adapt your website's design to different devices seamlessly, optimizing user experience across desktops, tablets, and smartphones.
Change Data Capture (CDC) is a method used in databases to track and capture changes in data. It enables real-time updates by identifying and recording modifications made to the database, facilitating efficient data integration, replication, and synchronization across systems.
In this article, you will learn about the Dependency Inversion Principle. The Dependency Inversion Principle (DIP) in SOLID, outlined by Robert C. Martin, advocates that high-level modules should depend on abstractions rather than low-level details. This promotes flexibility and reduces tight coupling in software components.
In this article, we will learn about the Open Closed Principle. The Open Closed Principle (OCP) in SOLID, coined by Robert C. Martin, asserts that software entities should be open for extension but closed for modification, fostering adaptability without altering existing logic.
In this article, you will learn about the Interface Segregation Principle. The Interface Segregation Principle (ISP) in SOLID, by Robert C. Martin, emphasizes coding according to specific interfaces rather than broad ones, preventing unnecessary method implementations and enhancing code flexibility.
This article explains the Liskov Substitution Principle. The Liskov Substitution Principle (LSP), a key SOLID principle by Barbara Liskov, advocates seamless substitution of base class objects with derived class objects without altering program functionality or correctness.
In this article, you will learn about the Single Responsibility Principle. The Single Responsibility Principle (SRP) in SOLID, emphasized by Robert C. Martin, asserts that a class or function should have only one reason to change, promoting simplicity and maintainability.
Learn how to implement the Memento pattern in C# to capture and restore object state for checkpoints, undo operations, and state recovery.
The Command Pattern, a behavioral design pattern in C#, transforms requests into stand-alone objects, promoting decoupling between sender and receiver. It enhances flexibility, undo/redo capabilities, and ease of command integration.
Learn what causes class explosion, how it affects maintainability, and how refactoring, abstraction, design patterns, and modularization can control class growth.
Learn how the Interface Segregation Principle uses focused interfaces to avoid forcing classes to implement unused members, with a .NET 6 library system example.
Learn the purpose of the Singleton design pattern, its role as a creational pattern, and how to implement a Singleton class in C#.
Learn the SOLID design principles in C# with practical examples of SRP, OCP, LSP, ISP, and DIP for building maintainable, loosely coupled software.
Learn how the Liskov Substitution Principle supports reliable inheritance and polymorphism in C#, with Shape, Circle, and Rectangle examples.
Learn dependency injection through a knight-and-weapons C# example, showing how interfaces and constructor injection make code flexible and easier to extend.
Explaining Singleton Design Pattern with C# code example
Explaining the differences between eager and lazy singleton
Design patterns are commonly used design practices in software engineering. This article explains when to use design patterns and which design patterns.
In software development, design patterns are like architectural blueprints, guiding developers to create efficient and adaptable code. Structural patterns connect objects (e.g., Adapter, Decorator), Creational patterns craft objects (e.g., Singleton, Factory), and Behavioral patterns orchestrate interactions (e.g., Mediator, Observer). Stay tuned for practical examples to enhance your coding skills and produce reliable, efficient, and maintainable software.
In this article, you will learn about Design Patterns for achieving clean code architecture.
Learn how to implement the Pipeline design pattern in C# by organizing image loading, filtering, and saving into modular processing steps.
In this article we will learn what is a strategy design pattern and how we can implement it using C#. We will use a real world example of ImageProcessor to explain.
Design patterns for well-structured, maintainable software. Creational, structural, and behavioral patterns are discussed with real-life examples.
Tutorial article on Fluent Interface Pattern in C#.
This article explains the role, responsibility and differences between UX Architect and UX Designer these are demanding fields nowadays to get success in any Product
Some tips to use source controls and repositories in the best way
Everything on Design Patterns & Practices, not only its articles: the Design Patterns & Practices page →
Write an article and earn +1,000 SHARP when it is approved.
Write an article