Design Patterns & Practices
Design patterns & practices accelerate the design and development of custom applications and reduce project technical risks. Here you may find Design Patterns & Practices related articles and news.


  • Gaurav Gahlot

    Breaking Circular Dependency Between Components

    Couple of days ago, I came across a piece of code that was not just tightly coupled but also formed a circular dependency among the components. In this article, I've tried to give you a gist of...
    Gaurav Gahlot Jul 07, 2018
  • Ashish Vishwakarma

    Understanding State Design Pattern By Implementing Finite State Machine In Super Mario Game

    In object oriented programming State Pattern is one of the way to implement Finite State Machines. This pattern falls under Behavioral Design Patterns.
    Ashish Vishwakarma Jun 25, 2018
  • Ashish Vishwakarma

    Improving Efficiency With Strategy Design Pattern In JSON Parser Example

    Here we will see how Strategy Pattern helped in refactoring code in JSON parser example
    Ashish Vishwakarma Jun 04, 2018
  • Arvind Singh Baghel

    Difference Between Software Design Principles - DRY And KISS

    In this article, we will explain the main basics of two software design principles, DRY and KISS.
  • Ashish Vishwakarma

    Leveraging Template Method Design Pattern In Logger Example

    Here we will understand the use of Template Method Design Pattern by gradually refactoring our code.
    Ashish Vishwakarma Jun 01, 2018
  • Hemant Jindal

    Singleton Implementation With Real World Example

    This article describes different ways of singleton pattern implementation and how to make the singleton class thread-safe. I have described with real time problem and given a reference of source co...
    Hemant Jindal Jun 01, 2018
  • Gaurav Gahlot

    Composed Relationship Types - Func<Owned<T>>

    It's the beauty of relationship types, that they can work in conjunction with one another. Therefore, we can compose relationship types to solve a particular problem.
    Gaurav Gahlot Apr 10, 2018
  • Ashish Sharma

    7 App Design Predictions For 2018 That Might Actually Happen

    In any industry, slants by one means or another mirror individuals' ordinary needs and behavior. This endless procedure of adjustment tails us wherever we go?—?and portable application improvem...
    Ashish Sharma Apr 02, 2018
  • Ayoub Bouchaqour

    Separation Of Concern And Data Access From Within Code

    In this article, you will learn the separation of concern and data access from within code.
    Ayoub Bouchaqour Mar 31, 2018
  • Gaurav Gahlot

    Func<T> - Dynamic Instantiation

    The article talks about scenarios where we want more than one instance of a given service
    Gaurav Gahlot Mar 08, 2018
  • David Anderson

    WPF MVVM - Working With Dialogs

    Avoid creating views from within your view models by building a dialog service. Facilitates unit testing.
    David Anderson Feb 25, 2018
  • David Anderson

    WPF MVVM - Working With Tab Controls And Tab Content

    Learn how to create, open, and close tabs effectively using the MVVM pattern with WPF. Facilitates unit testing.
    David Anderson Feb 21, 2018
  • David Anderson

    Introduction To Model-View-ViewModel Pattern For WPF

    Introduction to the MVVM (Model-View-ViewModel) pattern in WPF.
    David Anderson Feb 19, 2018
  • Gaurav Gahlot

    Owned<T> - Controlled Lifetime In Dependency Injection With Autofac

    Generally speaking, an owned dependency corresponds to some unit of work performed by the dependent component.
    Gaurav Gahlot Feb 16, 2018
  • David Anderson

    Business Layer With Active Record Pattern And Entity Framework

    In this video I take you back to the basics. I show you how to build a business layer using Active Record pattern as the foundation. We will explore the downsides, and discuss challenges and benefi...
    David Anderson Feb 14, 2018
  • Gaurav Gahlot

    Dependency Injection - Part Five - Using A DI Container (Autofac)

    A DI container takes the responsibility of instantiating and providing the dependency instances, irrespective of the level of dependencies. As a result, it is a container that manages the scope of ...
    Gaurav Gahlot Feb 13, 2018
  • Gaurav Gahlot

    Direct Dependencies And Enumeration

    In this post, we will be talking about the two most commonly used types of relationships, namely, direct dependency relationship and enumeration.
    Gaurav Gahlot Feb 13, 2018
  • Gaurav Gahlot

    Using Lazy<T, TMetadata> In Dependency Injection

    Lazy<T,TMetadata> is a type provided by MEF to hold indirect references to exports. Here, in addition to the exported object itself, you also get export metadata, or information that describe...
    Gaurav Gahlot Feb 13, 2018
  • Gaurav Gahlot

    Why "Service Locator" is an "Anti-Pattern" for Dependency Injection

    The Service Locator is used as a replacement for the new operator. The problem with service pattern is that it hides a class's dependencies and is a bonafide anti-pattern. In fact, it takes awa...
    Gaurav Gahlot Feb 13, 2018
  • Gaurav Gahlot

    Dependency Injection - Part 7 - Service Locator Pattern

    Service locator pattern is one of the most commonly used patterns. In general, this pattern is used along with other patterns like Adapter Pattern, Observer Pattern, Dependency Injection Principles...
    Gaurav Gahlot Feb 13, 2018
  • Gaurav Gahlot

    Dependency Injection - Part Six - Autofac's "AsImplementedInterfaces"

    While I was exploring Autofac, I found AsImplementedInterfaces quite interesting. Not only because it is useful, but also because if we are not careful with its use, we may end up with unexpected a...
    Gaurav Gahlot Feb 13, 2018
  • Prakash Tripathi

    Design Patterns Simplified - Strategy

    This article explains what Strategy Design Pattern is and how to use it in software design and development.
    Prakash Tripathi Feb 13, 2018
  • Gaurav Gahlot

    Dependency Injection - Part Four -Embracing Abstraction

    Dependency Injection (DI) is a technique that helps us achieve loose coupling between objects and their collaborators. In this post, we will use constructor based dependency injection, however, we...
    Gaurav Gahlot Feb 12, 2018
  • Pradeep Yadav

    Overview Of Strategy Design Pattern

    In this article, we will learn about Strategy Design Pattern.
    Pradeep Yadav Jan 23, 2018
  • Prakash Tripathi

    Design Patterns Simplified - Chain Of Responsibility

    This article explains what Chain of Responsibility Design Pattern is and how to use it in software development.
    Prakash Tripathi Jan 22, 2018
  • View More