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

Derek Comartin

Identify Commands & Events

Once I started down the path of segregating commands and queries, I soon enough ran into a few issues that I needed to solve. Identifying Commands & Events Correlating Commands & Events Idempotent Commands Idempotent Events If you are familiar with CQRS, then you may have run into these issues as well.  If you are not completely familiar with CQRS but have heard of it, to be clear, I’m not talking about Event Sourcing, Domain Driven Design, or having multiple data stores or any of the overly complex version people think it is. I’m simply talking about splitting up incoming requests into commands and queries.… Read More »Identify Commands & Events

Thin Controllers with CQRS and MediatR

I’m not a fan of fat controllers. One of the reasons I dislike having my core application logic in controllers is because I like using the web frameworks for what they are good at in my context. My context is usually creating web api’s. For me I use web frameworks as infrastructure that handles HTTP routing and endpoints Deserialization of input payloads Serialization of output payloads HTTP Headers and Status Codes Web Stuff (eg File Uploads) You get the gist, I like using it for handling the web.  Not for containing my features. If you have any questions, please follow me on Twitter.… Read More »Thin Controllers with CQRS and MediatR

Couchbase Linq Provider

I recently decided to use Couchbase for a personal side project.  The primary reason I chose to use it was because I hadn’t yet.  Simple as that. Again, this is for a personal side project where I try out different technologies.  The second reason was I was interested in N1QL (pronounced “nickel”) which is the Couchbase Server query language. I’m not covering installing the Couchbase server.  if you don’t have a Couchbase server installed, check out the offical docs. Couchbase .NET SDK The most obvious route for accessing a Couchbase server is by using the the official Couchbase .NET Client.  Looking at… Read More »Couchbase Linq Provider