Vertical slices in ASP.NET MVC

Why? In ASP.NET MVC, applications are divided into horizontal layers, which is reflected in the project structure: Controllers Views Models Scripts Style It’s a good idea to divide you application into logical parts. While the idea of horizontal slices might look like a good idea, in practice I have noticed that it’s not necessarily the […]

New features in C# 7, part 2

In my previous post about probable new features in C# 7, I talked about Tuples, Record Types and Pattern Matching. These are the most obvious candidates for inclusion. In this post I want to highlight a few more new features that are not getting as much attention but are also very useful features. C# 7 […]

C# 7: New Features

It seems like only yesterday we got C# 6, but as it goes in software development land, the next thing is already on its way. In this post I want to describe the most likely new C# 7 features, what they look like and why they’re useful. C# 7 Tuples Update 22/07/2016: Tuples are planned […]

The test pyramid

The test pyramid is a concept that was developed by Mike Cohn. It states that you should have an appropriate amount of each type of test. In the pyramid he distinguishes different types of tests: Exploratory tests: Performed manually by a tester System tests: Executed by a program or script that automates the UI (also […]

The N-layer myth and basic Dependency Injection

Dividing an application in N layers is considered a standard and a best practice. It is often thought that this automatically creates a decoupled application. However, just creating layers doesn’t make your code loosely coupled. A typical N-layer application Let’s take a simple layered application: 1. A typical N-layer architecture In the above image you […]