Interface-Oriented Design explores how you can develop software with interfaces that interact with each other. We’ll look at techniques for breaking down solutions into these interacting interfaces and then for determining appropriate implementations for these interfaces to create well-structured programs. We have plenty of examples that will show you ways to create effective designs composed of interfaces to objects, components, and services. And we’ll even have some fun along the w