Too Long; Didn't Read
It’s far too easy to become so involved with learning and applying these abstract concepts that the reason why they’re being applied gets lost. Trying to force these concepts into existing enterprise applications is not easy, and you can easily end up with scattered remnants of Aggregate Roots and Value Objects that don’t fit in with anything else. When you can have a system where the important code is truly encapsulated from the rest of the system, a number of benefits will unfold: The critical components of the business can now be easily tested.