Taswar Bhatti
The synonyms of software simplicity
Category: Design
design patterns

Null Pattern Last time I blogged about “Learn the Null Pattern“, but I forgot to mention one thing about the Null Pattern. That is you have to be mindful of it. For example

The code looks okay but what if the GetEmployee method actually returns a NullEmployee? Well that would still be okay, since […]

design patterns

Today, I thought I would mention the Null Object design pattern, its an object that provides intelligent do nothing behavior, hiding the details from its collaborators. So what does this mean??? Before I tell you what it means, lets see an example of how often you might be seeing code that is checking for null. […]

design patterns

As promised here is the version of observer pattern with Event & Delegate. Personally I am not a big fan of this solution, although it does remove quite a bit of code and show how to use a push model with the observer pattern. Next time around I will show a more elegant solution by […]

design patterns

Learn the Observer Pattern: I am starting to write a series of blog post which would be named “Learn {tagline}…..” In these series I would post things about design pattern, programming methodologies, skills etc etc For today, I will start with my favorite Design Pattern. The Observer Pattern. I would first state out what the […]

Working Effectively with Legacy Code

This is part 2 of Extract and Override refactoring technique. You can find part 1 in my previous post. I am going to show another technique by using Factory Method to break dependency in your code. *WARNING* *WARNING* Before I begin I would like to say all these techniques are not the best design but […]


The Law of Demeter (LoD), or Principle of Least Knowledge, is a design guideline for developing software, particularly object-oriented programs. (wikipedia) While everyday working on code that was written by lazy coders or junior coders I see a lot of violation of this law. I think every programmer should know the Law of Demeter by […]