Great book by Eric Evens discussing the domain driven approach to software design.
Finishing up this book...a book review will be comming soon...
"There are many things that make software development complex. But the heart of this complexity
is the essential intricacy of the problem domain itself. If you're trying to add automation to
complicated human enterprise, then your software cannot dodge this complexity—all it can do is
control it."
"The key to controlling complexity is a good domain model, a model that goes beyond a surface
vision of a domain by introducing an underlying structure, which gives the software developers the
leverage they need. A good domain model can be incredibly valuable, but it's not something that's
easy to make. Few people can do it well, and it's very hard to teach."