Resources  
  • Modern MediatR Library in .NET Core 9.0Jul 10, 2025. Modern MediatR Library in .NET Core
  • šŸMastering SOLID Principles in Real-World .NET ProjectsJul 07, 2025. Learn SOLID principles in C# with real-world .NET examples. Master SRP, OCP, LSP, ISP, and DIP to write clean, testable, and scalable code using interfaces, patterns, and best practices for enterprise apps.
  • Difference Between Abstract Class and Normal Class in C#Jul 04, 2025. The difference between Abstract Class and a Normal Class in C#, including definitions, concepts, use cases, and examples.
  • Webhook pattern for an Azure Logic AppJul 01, 2025. This article describes how we can use asynchronous request reply pattern, webhook pattern with logic app to resolve timeout related issues during large data processing.
  • Page Object Model Design Pattern: Benefits and ImplementationJun 30, 2025. The Page Object Model (POM) design pattern in Selenium improves test automation by separating UI structure from test logic, ensuring maintainability, reusability, readability, and scalability for growing web applications.
  • Automating Azure Analysis Services (AAS) Firewall Whitelisting Using Azure Data FactoryJun 30, 2025. This article explains how to automate IP whitelisting in Azure Analysis Services (AAS) using Azure Data Factory (ADF). It covers dynamic firewall rule management using a configuration-driven pipeline, secured with Managed Identity and REST API integration.
  • Types of Classes in C# with Examples | Concrete, Static, Abstract, Sealed, and MoreJun 12, 2025. Learn all the types of classes in C# with clear examples and use cases. Understand when to use abstract, static, sealed, generic, and partial classes in .NET Framework.
  • What is Singleton Design Pattern With Real Time Example in C#Jun 12, 2025. Learn how the Singleton Design Pattern works in C# with a real-time example. Understand its use in controlling object creation, ensuring only one instance exists for global access and efficiency.
  • Mastering the Factory Pattern in C# 13: Best Practices with Real-World ExamplesJun 08, 2025. With this best practices guide by Ziggy Rafiq, you will learn Factory Pattern in C# 13 with clean architecture, DI, and testable design.
  • Building a Clean ASP.NET Core API with C# 13, EF Core, and DDDJun 02, 2025. The guide is written by Ziggy Rafiq and follows real-world architecture and testing best practices to provide a clean, scalable REST API using ASP.NET Core, C# 13, EF Core, and MS SQL.
  • Event-Driven CQRS with C# 14 and the SQL Outbox PatternMay 15, 2025. Learn how to implement a reliable event-driven CQRS microservice using the SQL Outbox Pattern with C# 14. Ensure strong consistency, transactional event publishing, and fail-safe asynchronous processing for scalable distributed systems.
  • How to Set Up Avalanche Blockchain on Devnet & Transfer TokensMay 12, 2025. This article covers the setup of the Avalanche blockchain on DevNet, including installing tools like Docker, Avalanche CLI, and Hardhat. It walks through deploying an ERC-20 token smart contract and transferring tokens between wallets.2/2
  • Applying the Saga Pattern for Distributed Transactions Across Services Using C# ExamplesMay 07, 2025. The Saga pattern in microservices helps manage distributed transactions by breaking them into local transactions with compensating actions. It ensures data consistency and handles failures through choreography or orchestration.
  • Build a CRUD App in .NET 8 MVC Using Dapper and Repository PatternMay 06, 2025. Learn to build a CRUD app in .NET 8 MVC using Dapper for lightweight data access and the Repository Pattern for clean code architecture.
  • Abstract Factory Pattern for Notification Services in C# 14Apr 22, 2025. Discover how to use the Abstract Factory Pattern in C# 14 to build a flexible, provider-agnostic notification system.
  • Singleton Pattern in C# 14: A Deep Dive with a Real-World ExampleApr 21, 2025. In software architecture, there are scenarios where only a single instance of a class should exist throughout the lifetime of an application.
  • šŸŽØ Abstract Factory Pattern in C# 14Apr 21, 2025. In modern C# development, particularly within enterprise applications, it’s common to deal with families of related objects.
  • Abstract Factory Pattern for Database Access in C# 14Apr 21, 2025. This article covers creating flexible, maintainable code for handling multiple databases, while leveraging modern C# features for clean architecture and scalability.
  • What is New in JDK 24?Apr 18, 2025. JDK 24 introduces preview features like unnamed variables, pattern matching for primitives, string templates, and performance boosts, enhancing Java's productivity, readability, and native integration for modern development.
  • Advanced Configuration in .NET CoreApr 17, 2025. .NET Core provides various configuration sources like appsettings.json, environment variables, and Azure Key Vault. You can use strongly typed configuration with IOptions, validate options, enable hot reload, and manage secrets securely for app development.
  • C# Singleton Pattern: One Instance to Rule Them AllApr 16, 2025. The Singleton Design Pattern in C# ensures only one instance of a class exists and provides a global access point. It's ideal for managing shared resources like logging, configuration, or database connections.
  • Introduction to Event Driven Architecture [EDA]Apr 15, 2025. Event-driven architecture (EDA) is a software design pattern where decoupled components communicate via events. It enables real-time, scalable, and flexible systems, commonly used in microservices, IoT, payment processing, and real-time analytics.
  • Django Web framework Google Chart ExampleApr 14, 2025. Django, a Python web framework using the MVT pattern, simplifies web development with built-in admin, structured views, and templates—demonstrated using a Google Charts example for dynamic data visualization.
  • .NET 8 - System.Linq.Dynamic.Core – using SQL LIKEApr 11, 2025. System.Linq.Dynamic.Core library does not support SQL LIKE, and I added support for it. Added SQL LIKE support to the System.Linq.Dynamic.Core in .NET 8 using a custom patch. Enables dynamic SQL pattern matching in EF8 projects where built-in LIKE functionality was missing.
  • Open/Closed Principle (OCP)Apr 08, 2025. The Open/Closed Principle encourages extending software functionality without modifying existing code. It enhances flexibility, reduces bugs, and promotes maintainability by using interfaces and polymorphism for scalable, change-resilient design.
  • Liskov Substitution Principle (LSP)Apr 07, 2025. Understand the Liskov Substitution Principle (LSP), a key SOLID principle that ensures subclasses can replace base classes without errors, promoting reliable inheritance, clean abstraction, and maintainable object-oriented design.
  • Mastering SOLID Principles in Software DesignApr 06, 2025. The SOLID principles are five key object-oriented design guidelines—Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion—aimed at writing clean, maintainable, and scalable software systems.
  • Understanding AI: A Beginner's GuideApr 04, 2025. Artificial Intelligence (AI) simulates human intelligence in machines to perform tasks like pattern recognition, decision-making, and learning from data. It powers apps like recommendations, predictions, and automation.
  • What is Monolithic ArchitectureApr 01, 2025. Monolithic architecture is a software design pattern where the entire application is built as a single unit. It offers advantages like easier development and deployment but faces challenges in scalability and maintenance as applications grow.
  • Decorator Design Pattern ( Singleton Design Pattern)Mar 28, 2025. This article explains the Decorator Design Pattern in C#, demonstrating how to dynamically add functionalities to objects without modifying their structure. It includes real-world examples, implementation steps, and code samples.
  • Advanced APIs with ASP.NET Core: Middleware, EF Core, and VersioningMar 28, 2025. Learn how to build advanced APIs with ASP.NET Core using middleware, Entity Framework Core (EF Core), and API versioning. This guide covers request handling, database management with EF Core, and implementing versioning strategies for scalable and maintainable APIs.
  • China’s AI Renaissance: From Factory Floor to Global PowerhouseMar 25, 2025. China's AI rise, fueled by strategic investment and a vast data ecosystem, is reshaping global tech dynamics. Western companies must adapt to this evolving landscape.
  • Trigger Fabric Data Pipeline from ADF/Synapse via Managed IdentityMar 24, 2025. Learn how to trigger a Fabric Data Pipeline from Azure Data Factory or Synapse Pipeline using Managed Identity for secure authentication.
  • Automating SCD Type 4 in Azure SQL Database with Azure Data FactoryMar 24, 2025. Learn how to automate Slowly Changing Dimension (SCD) Type 4 implementation in Azure SQL Database using Azure Data Factory.
  • Learn C#: Refactor CodeMar 18, 2025. Refactoring in C# enhances code readability, maintainability, and performance by eliminating redundancy, utilizing LINQ, extracting methods, applying null-coalescing operators, and implementing async/await patterns.
  • Dynamic Database Web API in .NET 9: Clean Architecture & MediatR for FlexibilityMar 17, 2025. A Web API should support multiple database options such as SQL Server, PostgreSQL, MySQL, and SQLite without major code changes. In this article, we will build a .NET 9 Web API using Clean Architecture, Domain-Driven Design (DDD), and MediatR, while implementing dynamic database selection using Entity Framework Core (EF Core).
  • Understanding IT Solution ArchitectureMar 12, 2025. Solution architecture is focused mainly on the understanding of the business requirements and based on that need to design the project. Solutions should be designed in a way that it will be easy for maintenance and updates.
  • Domain Events & Pub/Sub Pattern: Manual Implementation vs MediatRFeb 27, 2025. Domain events and the publish/subscribe pattern are essential for building decoupled, scalable, and maintainable systems. Whether we're working on a microservices architecture or a modular monolith, these patterns help us manage complexity and enforce boundaries between components.
  • Create Storage Account and Move Files Using ADF ActivityFeb 17, 2025. Learn how to create an Azure Storage Account, set up Azure Data Factory (ADF), and efficiently move files between folders using ADF activities.
  • Understanding Bridge Design PatternFeb 13, 2025. This article explains its benefits, use cases, and implementation in C# with a real-world message-sending example using SmsMessageSender and EmailMessageSender.
  • Understanding Factory Design Pattern Feb 11, 2025. Learn about the Factory Design Pattern in C#. This article explains its implementation with a real-world banking example, demonstrating how to create flexible, maintainable, and decoupled object creation logic.
  • CQRS and Mediator Pattern in a .NET 8 Web APIFeb 10, 2025. This article explains how to implement CQRS and Mediator patterns in a .NET 8 Web API. It covers the benefits of separating read and write operations with CQRS, and how the Mediator pattern reduces dependencies between objects.
  • Understanding Abstract Factory Design PatternFeb 01, 2025. This article explains the Abstract Factory Design Pattern in C#, demonstrating its implementation with a real-world payment gateway example. It covers abstract products, factories, concrete implementations, and client usage.
  • Design Patterns for Scalable ASP.NET MVC ApplicationsJan 31, 2025. Discover key design patterns like Repository, Unit of Work, Dependency Injection, Factory, Singleton, and Command to enhance the scalability, maintainability, and testability of your ASP.NET MVC applications.
  • Mastering C# 13.0: Best Practices and Coding StandardsJan 26, 2025. Explore the essential coding standards and new features of C# 13.0. Enhance your development skills with practical examples and coding snippets for writing clean, efficient, and maintainable code.
  • Java 21 JUnit Testing Best PracticesJan 21, 2025. The best practices for JUnit testing in Java 21 by Ziggy Rafiq include leveraging new language features like record patterns and string templates. Develop maintainable and robust Java applications by leveraging test isolation, AAA patterns, and parameterized tests.
  • Java Program to Generate Pascal's TriangleJan 20, 2025. A Java Program to Generate Pascal's Triangle creates a pattern of numbers where each number is the sum of the two numbers directly above it. The program allows the user to input the number of rows they want for the triangle.
  • What We Didn't Know About C# 13Jan 13, 2025. Ziggy Rafiq shows us how to leverage C# 13's hidden gems, including advanced pattern matching and performance enhancements that allow for faster and more effective development.
  • Printing Different Types of Star Patterns in Java with CodeJan 09, 2025. Star pattern programs in Java demonstrate the use of nested loops and control structures, creating shapes like squares, pyramids, diamonds, and hollow squares with illustrative code examples and outputs.
  • What is Factory Method Design Pattern?Jan 06, 2025. Learn how to build an AI-powered birthday party planner using Copilot Studio and Microsoft OpenAI. Streamline theme selection, product management, and logistics with intelligent automation for efficient and creative event planning.
  • Why We need Factory Design Pattern?Dec 31, 2024. The Factory Design Pattern is a creational design approach that simplifies object creation by providing a central mechanism. It promotes code reusability, maintainability, and decoupling, making software development efficient and scalable.
  • Advanced Logging with Proxies in C#Dec 24, 2024. This article presents a lightweight, dependency-free logging mechanism in C# using the DispatchProxy class. It enables efficient method interception, conditional logging, performance optimization, and error handling without external dependencies.
  • Implement the Mediator Pattern in a .NET Web APIDec 17, 2024. Learn how to implement the Mediator Pattern in a .NET Web API using the MediatR library. This design pattern reduces tight coupling between components by centralizing communication through a mediator.
  • Transactional Outbox PatternDec 07, 2024. The Transactional Outbox Pattern ensures data consistency in distributed systems by storing events in an outbox table within the database. It simplifies reliable messaging, enabling seamless communication between microservices while avoiding the complexity of two-phase commits.
  • When to Use Abstract Class vs Interface and Why?Nov 29, 2024. This article explains when to use abstract classes vs. interfaces in C# through two scenarios. The first scenario demonstrates how abstract classes help avoid code duplication, while the second shows how interfaces enable multiple inheritance.
  • Factory Design Pattern Using Delegates In C#Nov 27, 2024. Factory Pattern is a creational design pattern that provides a way to encapsulate object creation. Instead of directly instantiating objects, you delegate the creation process to a factory class.
  • Dependency Injection (DI) in .NET CoreNov 27, 2024. In this article, we will learn how to configure services, implement constructor injection, and understand DI lifetimes (scoped, transient, singleton) for efficient application design.
  • Options Pattern In ASP.NET CoreNov 25, 2024. The Options pattern in ASP.NET Core simplifies configuration management with strongly-typed settings. Using classes aligned to appsettings.json, it ensures type safety, dependency injection, and validation.
  • Advanced C# 13 and .NET 9 Features for Expert .NET EngineersNov 22, 2024. With this guide, you will learn about enhanced pattern matching, static abstract members, Native AOT, and much more in C# 13 and .NET 9. Written by Ziggy Rafiq, this is the best resource for experienced .NET Software Engineer Leads.
  • The Cynefin framework with Domain-driven DesignNov 21, 2024. What is the Cynefin Framework, and how does it align with Domain-Driven Design (DDD)? The Cynefin framework helps decision-makers navigate complex problems by categorizing them into five domains. It complements Domain-driven Design (DDD) by addressing complexity.
  • .NET 9 Features with Code ExampleNov 19, 2024. Learn how abstraction simplifies complex systems by unifying interfaces, abstract classes, and dependency injection. Build modular, maintainable, and testable applications with this comprehensive guide.
  • Accordion PatternNov 19, 2024. This article will discuss Accordion Pattern.
  • Repository Pattern in .NET Core for Clean Data AccessNov 15, 2024. Learn how to separate business logic from data logic, enhance testability, and reduce code duplication. By following these best practices, you’ll achieve modular, scalable applications in .NET Core.
  • Code Reviews to Eliminate Common Anti-PatternsNov 07, 2024. Enhancing software quality by avoiding antipatterns in code reviews that cover antipatterns in the Input Kludge, Magic Pushbutton, Encapsulation Violation, Anemic Domain Model, and how to create a rich domain model.
  • Data Loss Prevention in Microsoft Fabric InternalsOct 28, 2024. Microsoft Fabric’s Data Loss Prevention (DLP) feature protects sensitive data across services like SharePoint, Teams, and Exchange by enabling policy creation, scanning, and enforcement through Microsoft Purview.
  • An in-depth Look at Advanced Pattern Matching in C# 12Oct 21, 2024. With Ziggy Rafiq, learn how to leverage advanced pattern matching features in C# 12, including the new let pattern and enhanced recursive patterns.
  • Why In ASP.NET Core logging is often implemented as a singletonOct 20, 2024. In ASP.NET Core, logging is often implemented as a singleton to ensure efficient resource usage, centralized management, and thread-safe logging across the application.
  • Pattern Matching for Switch in Java 17Oct 07, 2024. Pattern matching for switches in Java 17 enhances code readability and simplifies working with complex data structures. It allows you to match object types, use type patterns, and add conditions with guarded patterns.
  • SQL Stored Procedure vs. Azure Data Factory Data FlowSep 27, 2024. This article compares SQL Stored Procedures and Azure Data Factory (ADF) Data Flows for creating staging tables and migrating data to Dynamics 365 (D365). It examines their differences in execution time, cost, and scalability, offering insights into which method is best suited for data migration tasks.
  • REPR Pattern - For C# DevelopersSep 27, 2024. Discover the REPR Pattern, a powerful design technique tailored for C# developers. Learn how this pattern can simplify code structure, improve maintainability, and optimize performance in C# applications.
  • Solid Introduction to Expression Trees in C#Sep 26, 2024. This article provides a comprehensive introduction to Expression Trees in C#. You'll learn about their structure, how they represent code as data, and their applications in LINQ queries.
  • Chain of Resposability PatternSep 24, 2024. The Chain of Responsibility is a behavioral design pattern that enables passing requests along a series of handlers. Each handler decides to process the request or forward it to the next in line. This pattern allows for flexible request processing and decouples sender and receiver.
  • Using C# 12 with Clean Code PracticesSep 21, 2024. Learn how to write cleaner, more maintainable code with C# 12 features such as primary constructors and improved pattern matching. This article explores practical examples and tips for applying clean code practices with C# 12.
  • Prototype Pattern: Cloning Objects in C#Sep 18, 2024. The Prototype Pattern is a creational design pattern that simplifies object creation by cloning existing instances instead of starting from scratch. Ideal for complex objects, it reduces initialization overhead and ensures consistency.
  • Invoke Azure Data Factory Pipeline via MSFT Fabric without REST APISep 18, 2024. This guide explores alternative methods for automating and orchestrating your data workflows in the cloud, providing seamless integration with Azure services for efficient pipeline execution.
  • Builder Pattern: Constructing Complex ObjectsSep 14, 2024. In this article, we learn about Builder Pattern: Constructing Complex Objects. The Builder Pattern simplifies the creation of complex objects through step-by-step construction. It enables flexibility, modularity, and clarity in assembling products, making it ideal for various configurations and customizations.
  • Learn Factory Functions in JavaScriptSep 10, 2024. In this article, we will learn about Factory Functions in JavaScript. This article introduces factory functions in JavaScript, demonstrating how they create objects efficiently without code duplication. It also covers memory optimization techniques using `Object.create()` for shared functionality.
  • Singleton Pattern: Ensuring a Single Instance in .NET CoreSep 09, 2024. In this article, we learn about Singleton Pattern: Ensuring a Single Instance in .NET Core. The Singleton Pattern ensures a class has only one instance, providing global access. It's commonly used for managing shared resources like logging, configurations, or database connections, ensuring efficient resource usage.
  • Abstract Factory Pattern: Designing Families of Related Objects in C#Sep 09, 2024. The Abstract Factory Pattern provides an interface for creating families of related objects without specifying their concrete classes. It ensures consistency and flexibility in object creation, useful in scenarios like UI design, configuration systems, and data access layers, promoting modular and decoupled design.
  • Factory Method Pattern: Simplifying Object Creation in C#Sep 06, 2024. The Factory Method Pattern is a creational design pattern that delegates object creation to subclasses, promoting flexibility and maintainability. It defines an interface for creating objects but lets subclasses decide which class to instantiate. This approach reduces coupling and enhances scalability in complex systems.
  • What Are Design Patterns? Understanding the BasicsSep 05, 2024. Design patterns are essential in software development, offering reusable solutions to common problems. By applying patterns like Singleton, Factory Method, and Observer, developers create flexible, maintainable, and scalable code.
  • The Importance of Design Patterns in .NET Core DevelopmentSep 05, 2024. This article discusses the importance of design patterns in .NET Core development, highlighting how they enhance scalability, maintainability, and flexibility. Key patterns include Singleton, Repository, Factory Method, and Strategy, improving code quality and communication.
  • Categorizing Design Patterns: Creational, Structural & BehavioralSep 05, 2024. In this article we will learn about Categorizing Design Patterns: Creational, Structural, and Behavioral. It provides real-life examples, benefits, and challenges, offering developers insights for better software architecture.
  • Design Pattern (3), SingletonSep 05, 2024. This article will discuss the Singleton pattern.
  • A Guide to Using the Decorator Pattern in Your C# CodeSep 04, 2024. In this article, we will learn how to implement this pattern in your C# code, improve code reusability, and follow best practices for more maintainable and flexible software design.
  • Understanding State Design PatternSep 02, 2024. This pattern is particularly useful for implementing state machines or managing complex state-dependent logic, as it promotes cleaner code and improves maintainability in software development.
  • Using Factory Patterns in C# 12 to simplify A/B testingAug 30, 2024. Find out how Ziggy Rafiq simplifies A/B testing with feature toggles in C# 12 by using Factory and Abstract Factory design patterns.
  • Understanding of Domain Driven Design (DDD)Aug 29, 2024. Domain-driven design is a software development approach that closely aligns software models with business needs. It focuses on key concepts like Entities, Value Objects, Aggregates, and Aggregate Roots to ensure consistency, integrity, and scalability in complex systems by structuring code around the business domain.
  • Understanding of Design PatternsAug 29, 2024. Design patterns are essential in software development, divided into architectural and application/code-level patterns. Architectural patterns guide the high-level structure of software, ensuring components communicate effectively, are secure, and scalable.
  • C# 12 Design Patterns: Factory and Abstract FactoryAug 29, 2024. By Ziggy Rafiq, discover how Factory and Abstract Factory design patterns simplify the creation of complex objects in C# 12.
  • Effortless Dynamics 365 Record Updates with Azure Data FactoryAug 28, 2024. Learn how to update Dynamics 365 records using Azure Data Factory (ADF) with internal GUIDs. This guide covers setting up source data in Azure SQL, configuring datasets, mapping fields, and executing pipelines to update records like phone numbers and addresses without the need for alternate keys or additional references.
  • Understanding CQRS Design PatternAug 28, 2024. CQRS (Command Query Responsibility Segregation) is a pattern that separates the responsibilities of reading and writing data into distinct models. This separation can help optimize both aspects independently and improve the scalability and maintainability of applications.
  • Abstract Factory Design Pattern in .NET Core C# 12Aug 28, 2024. In this detailed article by Ziggy Rafiq, you will learn how to implement key components like AbstractFactory, ConcreteFactory, AbstractProduct, and ConcreteProduct in .NET Core with C# 12. By leveraging the modern features of C# 12 and .NET Core, this pattern enhances flexibility and scalability in software development.
  • Singleton Pattern Caching in .NET C#Aug 26, 2024. Learn how to implement caching using this pattern to enhance memory management, ensure thread safety, and optimize performance in your applications.
  • Event-Driven Microservices with .NET CoreAug 20, 2024. Build scalable, resilient microservices with .NET Core and MediatR by implementing event-driven architecture. This approach decouples services, enhances scalability, and simplifies maintenance. Learn to handle events, configure dependency injection, and expand your architecture.
  • Learn Advanced CQRS with .NET CoreAug 20, 2024. Dive into the advanced implementation of the Command Query Responsibility Segregation (CQRS) pattern using .NET Core and MediatR. This article explains the benefits of CQRS in modern application development and includes practical code examples in C#.
  • Advanced gRPC Communication in .NET CoreAug 20, 2024. Explore advanced techniques for implementing microservices communication using gRPC in .NET Core. This article dives into high-performance, real-time communication patterns with practical code examples in C#.
  • CRUD Operations with Repository Pattern and Web API in .NET 8Aug 20, 2024. This guide covers creating a clean, maintainable data access layer by leveraging the Repository Pattern for managing database interactions and exposing endpoints through Web API, enhancing your .NET 8 applications.
  • Understanding Adapter Design PatternAug 16, 2024. The Adapter Design Pattern is a structural pattern that allows incompatible interfaces to work together. It acts as a bridge between two incompatible interfaces by converting the interface of a class into another interface clients expect.
  • Azure Data Factory vs Azure Synapse Analytics vs Microsoft FabricAug 13, 2024. Azure Data Factory focuses on data integration and ETL processes, Synapse Analytics combines big data and data warehousing, while Microsoft Fabric offers a unified data platform for diverse analytics needs.