In Domain Driven Design a single pattern is drawing a lot of attention to itself - Domain Events and Event Queues.
(slide via http://de.slideshare.net/andysal/never-mind-the-bollocks-heres-the-domain-driven-design)
Domain Events models non-technical events as their own entity and allow code that needs to react to those event to subscribe to such events. A kind of Pub/Sub, Observer pattern to decouple code.
I'm a strong believer in applying Enterprise Pattern to the Apex space especially if they are adapted to the special characteristics of the Force.com platform. I see a great use case in using libraries like the awesome FinancialForce Apex Common.
So my questions to the expert out there are:
- Does it make sense to port something like this to the Salesforce.com world?
- Have you done it and with which experience?
- How would one implement the Event queue? Using Async Queuable jobs? Streaming API?