Skip to content

Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.

Learn more about Software Architecture & Design.
Join thousands of developers getting weekly updates to increase your understanding of software architecture and design concepts.


Follow @CodeOpinion

Orleans Smart Cache Pattern

I discovered the Orleans Smart Cache Pattern by listening to a talk by John Azariah and Sergey Bykov.  The idea is that you can use Orleans as a distributed cache in front of (permanent) storage.  This is really ideal if you have a read heavy system, which most are.  You could optionally also choose to buffer your writes when you make state changes.  Ultimately you will reduce load on your storage by accessing data/state from memory. Blog Post Series: Part 1 – Practical Orleans Part 2 – Grains and Silos Part 3 – Smart Cache Pattern Part 4 – Event Sourced… Read More »Orleans Smart Cache Pattern

Creating a custom ASP.NET Core Output Formatter

If you follow my blog, you may also know that I’ve blogged a bit about Hypermedia.  Because I’m a fan, I’ve decided to start creating an custom ASP.NET Core Output Formatter to handle the Siren hypermedia specification (application/vnd.siren+json). All the code samples in this blog post are pulled from a sample application of the game Hangman.   I’m creating it in ASP.NET Core.  I will eventually pull out the Output Formatter and create a repo on GitHub and a Nuget. Output Formatter Since I’m handling Text, I’m going to be deriving from the TextOutputFormatter.  This requires you to implement two methods:… Read More »Creating a custom ASP.NET Core Output Formatter

LiteDB: Embedded .NET NoSQL Database

I was recently in the need for a simple NoSQL database that I could use for an app I was creating for a ASP.NET Core Workshop. What I was really after was something similar to SQLite.   A single package I could pull into my application that did not require any external service and data stored in a single file. It didn’t take long to find LiteDB.  After using it for my demo application, I had write a quick post about it.  Just to shed some light for anyone in need.  The project is actually really popular on GitHub, so it… Read More »LiteDB: Embedded .NET NoSQL Database