A Timeless Way to Build Software 2.0

This book’s authors have all been software architects by trade. We’ve been witnessing the creation of software for more than 20 years and have experienced movement after movement, from object-oriented design in the 1980s–1990s to component-based design, distributed objects, web-based software, Service-Oriented Architecture (SOA), and too many others to mention. In general, the problems that the previous generation of techniques couldn’t solve are only marginally more solvable by the next (which is invariably developed to “fix” the earlier problems). A genuinely better mousetrap is really hard to invent.

Logically, if you couldn’t do whatever you wanted to do with the previous generation of techniques, it’s unlikely that you’ll succeed with the next generation if you use the same flawed design process. Certain software problems remain hard to solve, and in general, the evolutionary path mysteriously happens to involve the juncture between technology and people in some way. Software and the techniques used to create it get better fairly constantly, but people remain the same.

Every once in a while, though, something new and big comes along—or at least something that looks new and big. One of the big new things that came along about 10 years ago was the concept of design patterns, as we’ve discussed throughout this book. Despite the perpetual changes in technology, many software design problems have certain timeless solutions. Some things that get ...

Get Web 2.0 Architectures 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.