Articles related to Design

Why You Should Avoid Command Handlers Calling Other Commands?

One of the patterns that I keep coming back to when building ASP NET Applications is the Command Query Separation (CQS) pattern. Fundamentally, the pattern separates the code to read (Query) and the write (Command) to the data store. By separating the Commands…

Generating a Large PDF from Website Contents

Dynamically generate a PDF file for a CMS Website.

Being Explicit About Time when Handling Multiple Timezone

This article is to put my thoughts together on a possible solution. Challenges of real world implementation are yet to be discovered. Handling date/time in application's that affect different time zones is tricky! The general recommendation is that all dates…

Thinking Beyond Primitive Values: Value Objects

When modelling objects for our application, we use primitive values to represent their attributes or properties. By primitive values, I refer to all the primitive types (like Byte, Boolean, Int, Date) and the in-built types (String etc.) that the language…

When your Architecture Screams Technology!

In todays world the problem's that are solved by technology are innumerous and it is not just a single system that the customer is looking for. They usually need multiple systems solving different problems around their core domain. But as developers, we…

Using Repository Pattern for Abstracting Data Access from a Cache and Data Store

A Repository abstracts the persistence logic from the core business logic and allows the data to be accessed as it would have been from an in-memory object collection. Repository Pattern is useful when you want your domain objects(or entities) to be…