I recently wrote about the Registrations class of NancyFx. It is a great tool for implementing reusable Nancy packages, which define all their DI requirements and does that with no dependency on any concrete DI container.

Unfortunately every rose has its thorns and there are some limitations and the exact behaviour slightly differs between containers. Read on to see what are the problems you can face when using the Registrations class for setting up your application.

Read on →

Attributes are a very useful feature of many languages but I personally feel that they are used too often and in wrong circumstances. They’re primary shortcoming is the fact that attributes are set up at compile time. During code execution they can only be read but not modified.

Read on →

The open-closed principle is the second letter of the SOLID acronym. SOLID is a set of software design guidelines which help build better software. The open-closed principle declares that

software entities should be open for extension, but closed for modification

One way to satisfy this principle is through the use of the Strategy design pattern, sometimes called Policy. I’d like to show how easy it is to employ this pattern in reusable and extensible components for a Nancy application.

Read on →

In this installment of my REST series I will take on the train wreck, which some people call REST API documentation. Of course some form of documentation is necessary but I am growing more and more disappointed with most current solutions. Tools like Swagger or Apiary can be used to create some sort of documentation, but they sure as hell don’t describe REST APIs.

Read on →

This part four (0-based) of my series about REST, the mistakes people often make and some ideas of mine. This post on talks about taking advantage of resource representations in a javascript client. This is somewhat related to my other REST post, where I argue that when resources are properly identified and actually linked is should be possible (and beneficial) to ditch client URL routing.

Read on →