Describes the pieces of a domain model, procedural code smells, and how to refactor procedural code into a rich domain model.