The Problem to be Solved
So I went searching for alternatives and decided to start using a Command Handling Pattern. The central idea is that a business process that needs to be performed (i.e. writes not reads) is represented by a Command (this is similar to, but not exactly the same as, the traditional Command Pattern).
I'm planning on writing a series of posts to explore how my ideas evolved from a fairly simple pattern to a more complex solution taking ideas from the Chain of Responsibility Pattern.
Next time I'll go into the first step on this journey. Watch this space!