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

CQRS

Building a Self Descriptive HTTP API in ASP.NET Core

We have all been doing “web services” forever.  My first introduction was in the late 90’s with XML-RPC and WDDX.  Followed up soon after with SOAP.  Good times.  Oh and remember WS-*.  Don’t remind me. Why? Over the last couple years, I’ve really taken an interest in HTTP APIs. I’ve been meaning to post about my experiences developing an HTTP APIs.  It’s been an interesting last couple of years and I think there is quiet a bit to share. Issues I can only speak from my experiences and give some of the context about my situations.  Hopefully you can relate and… Read More »Building a Self Descriptive HTTP API in ASP.NET Core

Queries with Mediator and Command Patterns

I recently got a really great comment from my post on using Query Objects instead of Repositories.  Although that blog post is now 2 years old, I still use the same concepts today in my applications. What I thought may be relevant is to elaborate more on why and when I use the mediator and command pattern for the query side. It may seem obvious on the command side, but not really needed on the query side. Here a portion of the comment from Chris: I’m struggling a bit to see the killer reason for using Query objects over repository. I can see… Read More »Queries with Mediator and Command Patterns

Developing Features not Layers

Developing and thinking about features not layers is something I’ve moved towards over the last several years. I’ve mentioned it in several blog posts and I don’t think I ever explicitly created a post about it. CQRS The real enabler has been CQRS.  For those unfamiliar with CQRS or if you think it’s complicated, let me share a quote from Greg Young: CQRS is simply the creation of two objects where there was previously only one. The separation occurs based upon whether the methods are a command or a query (the same definition that is used by Meyer in Command and Query… Read More »Developing Features not Layers