For courses in Object-Oriented Design, C++ Intermediate Programming, and Object-Oriented Programming. Written for software engineers "in the trenches," this text focuses on the technology-the principles, patterns, and process-that help software engineers