Domain Driven Design (DDD) is the widely accepted and proven pattern to build applications dealing with complex domains. Not many applications manage to maintain the clear boundaries between bounded contexts as they grow bigger. Even if it is realised, the high costs of refactoring discourage to bring things back on track. The cost of refactoring gets… Read More Decouple Entity Framework based monolith to well defined bounded contexts.
We are living in exciting times, when frameworks we are using are becoming more and more extensible and giving us more power to build highly complex systems. In my previous few posts I have written about how to use the extensions/patterns to simplify your code while providing solutions for equally complex domains. In this post… Read More Why you should care about more than just your code.
Every now and then we get to implement very complex logic and there are various ways to manage the complexity. In my 3 Posts series, I have discussed how we can handle complexity introduced by the multi-tenancy aspect of the business logic. I recently came across a logic, which was going to create a maze… Read More How to simplify complex logic using declarative coding in C#.
This is my third and last post in the series of writing multi-tenant applications. Before this I have discussed how to avoid if/else type structures and how context based dependency injection can help us do it efficiently. In this post I will focus on the UI side of the application. One of the main traits of the… Read More Multitenant Application – Part 3: AOP in MVC to develop multi-tenant and regional applications
Further to the previous post, object creation based on the current context is a cross cutting concern, so it should be dragged outside the core business logic. We have already tried creating a factory method to give us the required implementation. We will now replace this with a container to allow Inversion Of Control. The most simplest… Read More Multitenant Application – Part 2: Context driven dependency injection
Have you seen code like this and wonder how to make it cleaner? I often see a web of if/then or switch statements sprawled out to various parts of an application to provide a country or client specific code paths. Such conditional statements have their counterparts in other layers of the application. These corresponding conditional statements are consistently required to be… Read More Multitenant Application – Part 1: How to write Multitenant or Regional code without if or switch statements?