About the Cover
Although capacity may be a problem for a doghouse, other requirements are
usually minimal. Unlike skyscrapers, doghouses are simple units. They do not
require plumbing, electricity, re alarms, elevators, or ventilation systems, and they
do not need to be built to code or pass inspections.
The range of complexity in software design is similar. Given available software
tools and libraries, many of which are free, hobbyists can build small or short-lived
computer apps. Yet, design for software longevity, security, and efciency can be
intricate—as is the design of large-scale systems. How can a software developer
prepare to manage such complexity? By understanding the essential building
blocks of software design and construction.
About the Book
Software Essentials: Design and Construction explicitly denes and illustrates
the basic elements of software design and construction, providing a solid under-
standing of control ow, abstract data types (ADTs), memory, type relationships,
and dynamic behavior. This text evaluates the benets and overhead of object-
oriented design (OOD) and contrasts software design options. With a structured
but hands-on approach, the book:
Delineates malleable and stable characteristics of software design
Explains how to evaluate the short- and long-term costs and benets of design
Includes extensive C# and C++ examples, supportive appendices, and a
glossary of over 200 common terms
Covers key topics such as inheritance, composition, polymorphism,
overloading, and more
Compares and contrasts design solutions, such as composition versus
While copious examples are given in C# and/or C++, often demonstrating
alternative solutions, design—not syntax—remains the focal point of Software
Essentials: Design and Construction.
Adair Dingle
Software Essentials
Software Essentials
Design and Construction
Computer Science
K11914_cover.indd 1 5/16/14 10:31 AM

Get Software Essentials now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.