james mckay dot net
because there are few things that are less logical than business logic

N-tier deconstructed

The traditional three-layer and n-tier architectures are widely regarded as a “best practice” by many traditional enterprise developers, especially in the .NET world where they are often viewed as a de-facto standard. Unfortunately, many of the patterns and practices that they entail are far from optimal, invariably resulting in poor performance and unnecessarily complex code that is difficult to maintain.

This series of blog posts examines the fallacies behind them and the problems that they cause, and discusses alternative approaches.


Date Title
10th July 2018 Your Repository is not a Data Access Layer
16th February 2015 Inseparable concerns
16th October 2014 Moving a problem from one part of your codebase to another does not eliminate it
9th October 2014 The Repository Facade
21st August 2014 Query Objects: a better approach than your BLL/repository
14th August 2014 If your tests aren’t hitting the database, you might as well not write tests at all
24th July 2014 Interchangeable data access layers == stealing from your client
16th July 2014 The Anaemic Business Layer