Any problem in computer science can be solved with another layer of indirection. But that usually will create another problem.

David Wheeler

Chapter 7Design Your Objects

Design is something that’s important in many disciplines. An architect, for example, can build a house that’s fully functional and ready to move into. Roof, windows, electricity, clean water, heating—everything can be in place and working.

Still, you might not want to live there. Maybe it’s ugly; neon-painted walls and ceilings shelter you from the rain, but you don’t want to stare at those bright colors all the time. Maybe it’s inconvenient; a pillar in the center of your living room holds the roof up, but it also keeps you from watching TV from your sofa.

These are exaggerations ...

Get Java By Comparison now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.