As developers, we've created heuristics that help us build robust systems and employed test-driven development (TDD) to improve code design and counter instability. Yet object-oriented development principles and TDD have failed to gain traction in the database world. That’s because database development involves an additional driving force-the data. Max Guernsey shows how to treat databases as objects with classes of their own-rather than as containers of objects-and how to drive database designs from tests. He illustrates a way to give these database classes the ability to upgrade old data without introducing undue risk. Max also shares how to apply good object-oriented design principles to database classes and how to enforce semantic connections between databases and clients. Max demonstrates how it all works together, ensuring that your production databases work exactly the same as test databases, minimizing the risk of design changes, and enabling client applications to more easily keep up with database changes.
2. Max Guernsey
Hexagon Software, LLC
As head of Hexagon Software, LLC and a software developer with fifteen years of
experience, Max Guernsey helps organizations make the transition to agility with a focus on
good technical practices such as test-driven development and modern object-oriented design.
He develops his company’s DataClass product, a language that allows .NET developers to treat
databases like “just another object.” Max is the author of Transition Testing, the foundation of
his current TDD database work; Test Driven Database Development which focuses on adapting
the discipline of TDD to forces present in the database world; and Goad Testingin which he
discusses what unit tests really are and how to make them more resilient to design changes.