Although there has been significant adoption of this pattern, I have received countless questions about how to implement it in various environments. I mostly get asked about how it relates to domain-driven design. First, onion architecture works well with and without DDD patterns. It works well with CQRS, forms over data, and DDD. It is merely an architectural pattern where the core object model is represented in a way that does not accept dependencies on less stable code.