Category: Design Patterns

Design Patterns: Elements of Reusable Object-Oriented Software is a software engineering book describing recurring solutions to common problems in software design. The book’s authors are Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides with a foreword by Grady Booch. The authors are often referred to as the Gang of Four, or GoF. The book is divided into two parts, with the first two chapters exploring the capabilities and pitfalls of object-oriented programming, and the remaining chapters describing 23 classic software design patterns. The book includes examples in C++ and Smalltalk.
The original publication date of the book was October 21, 1994 with a 1995 copyright, and as of July 2010, the book was in its 38th printing. The book was first made available to the public at OOPSLA meeting held in Portland, Oregon, in October 1994. It has been highly influential to the field of software engineering and is regarded as an important source for object-oriented design theory and…

The Patterns That Actually Matter: What Building Microservices at Scale Taught Me About Distributed Systems

Posted on 7 min read

The first time I decomposed a monolith into microservices, I made every mistake in the book. We ended up with a distributed monolith—all the complexity of microservices with none of the benefits. That painful experience taught me that microservices architecture isn’t about the services themselves; it’s about the patterns that make them work together. Microservices… Continue reading

The Architecture Decision That Will Make or Break Your System: Monolith vs Microservices in 2025

Posted on 5 min read

The debate between monolithic and microservices architectures has evolved significantly over the past decade. What was once a straightforward “microservices are better” narrative has matured into a nuanced understanding that the right architecture depends entirely on context. After leading architecture decisions across dozens of enterprise systems, I’ve learned that the most expensive mistakes come not… Continue reading

Back to Basics : Singleton Design Pattern using System.Lazy type

Posted on 4 min read

This article takes you to a simpler/alternative approach in making a Singleton Design Pattern implementation using System.Lazy class rather that using our traditional approach. Singleton Design Pattern implementation without lazy initialization: This code is thread safe enabled [code language=”csharp” padlinenumbers=”true”] /// <summary> /// Singleton class /// </summary> public class AppConfig { private AppConfig() { }… Continue reading

Static vs Singleton Classes

Posted on 2 min read

Recently while I was attending an interview I came across a question Static vs Singleton. Though I know the differences I couldn’t answer it properly, as I was not refreshed my programming knowledge before the interview. I would like to quote a reference to Jalpesh’s blog article (www.dotnetjalps.com) explaining the difference: Difference between Static and… Continue reading

Enterprise Solution Patterns Using Microsoft .NET – Version 2.0

Posted on 1 min read

This is a little old document. But very useful for people who would like to learn more about “Enterprise Solution Patterns using Microsoft.NET” , by Microsoft Patterns & Practices This document is very good for referencing for common solution patterns and provides little more focus on ASP.NET based Solution Pattterns. Nice reference though!!.

Enterprise Library 5.0 & Unity 2.1(Dependency Injection Container) for Silverlight and Enterprise Library 5.0 Optional Update 1 for .NET(ASP.NET,WinForms)

Posted on 1 min read

Microsoft has recently released few updates for Microsoft Enterprise Library 5.0 (A collection of reusable application blocks(logging,caching, cryptography, data access etc) for .NET. One of the interesting part of these releases are Enterprise Library 5.0 & Unity 2.1(Dependency Injection Container) for Silverlight. more details about each release are given below. Enterprise Library 5.0 for Silverlight This release provides… Continue reading