Category: System Design

  • Working with Factory Method Pattern

    Hello friends, Today we will go through another creational design pattern called Factory Method. Before talking about its implementation let’s begin with defining it. Factory method pattern is similar to simple Factory pattern with a few difference. Unlike Simple factory, here client doesn’t call the factory class instead it calls the factory interface. Factory interface…

  • Working with Simple Factory Pattern

    Hello friends, Today we will go through another creational design pattern called Simple Factory. Before talking about its implementation let’s begin with some fundamental questions as in the following. Purpose of the Factory pattern I can think of two main objectives of using the Factory pattern. One is to achieve loose coupling between the client…

  • Working with Singleton Design Pattern

    Hello friends, I am here to continue the learning series regarding Design Patterns. Today we will go through one of the popular design pattern called Singleton. In case you have not had a look at our first article, go through the following link: Design Patterns What, Why? Before talking about its implementation let’s begin with…

  • Implicit and Explicit Interface Implementation using C#

    Hello guys, An interface in C# is usually used to create loosely-coupled and contract-based designs. It can contain signatures (declarations) of the Methods, Properties, Indexers and Events. The implementation of the methods/properties and so on is done in the class that implements the interface. An interface can inherit one or more interfaces, in other words it…

  • Design Patterns What, Why?

    Hi guys. Design patterns are an important consideration when designing or developing any software systems or solutions. There is so much buzz around patterns. At the same time, we often get confused about their use. Basically we get questions like the following:  What design patterns are  Why to use them  When to use them  How…