This book looks like a good read.
One thing I learn from the book that might be good metaphor DCI.
Organizational structure (Domain hierarchy) vs Communication Structure (Interaction)
Objects belongs to two structures just like human in an organization.
It took the author decades to realize that they have to separate the two structures to understand each of them and have a proper solutions for each of them.
Every time I do classic OOP, I feel exactly the same issue.
I have to make sure the class hierarchy work and as the same time I have to make sure the communication make sense by routing the message along the hierarchy path.