The Domain Driven Design (DDD) book discusses four conceptual layers: presentation, application, domain, and infrastructure. The application layer implements business tasks by coordinating work with the domain layer. For copying, Recording::Copyable creates a new Copy record. Filing is a common parent class for both the copy and move operations. The SRP violation we care more about is violation at the implementation level.

9m read timeFrom dev.37signals.com
Post cover image
Table of contents
We don’t distinguish application and domain layersControllers access domain models directlyRich domain modelsWhat about services?The dangers of isolating the application layerConclusions

Sort: