Interface Oriented Design : 9780976694052

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 way.

You’ve probably learned about (and experienced) software development using object-oriented design. Interface-oriented design concentrates on the interfaces of modules, which may or may not be implemented with object-oriented languages. Designs that emphasize interfaces are loosely coupled—and that’s a good thing. If you have only an interface to which to code, you cannot write code dependent on an implementation, which helps keep us honest.

Distributed computing, such as service-oriented architectures, places a particular emphasis on interfaces. The interfaces may be procedure oriented (such as Remote Procedure Calls) or document oriented (such as web services). We’ll explore the transparency and loose coupling traits that are key to distributed interfaces to help you build better distributed systems.

Inheritance is often a tricky technique to get correct—it is often one of the most abused features in object-oriented languages. We’ll look at designs that employ inheritance versus ones that emphasize interfaces to demonstrate the trade-offs between the two.

This ongoing emphasis on interfaces may seem a bit extreme. But by looking at one extreme, you’ll start to see a different viewpoint that can give you fresh insights into your current approach to software development.

This book is aimed at developers who have some experience with programming and who have been exposed to object-oriented design. Even if you are heavy into object orientation, you might find the interfaceoriented approach helps you gain some insight into different ways of approaching a design. Understanding interfaces will help you transition to designing Service-Oriented Architectures

Download Firefox For Free
Google Tool Bar. No Virus, Free From Virus
Google