Interface-Oriented Design (Pragmatic Programmers) , Author(s) : Ken Pugh | Publisher : Pragmatic | ISBN : 0976694050 | PDF | 1.57 MB | 220 pages | 2006
Preface
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.
1 : Introduction to Interfaces
2 : Interface Contracts
3 : Interface Ingredients
4 : What Should Be in an Interface?
5 : Inheritance and Interfaces
6 : Remote Interfaces
7 : A Little Proces
8 : Link Checker
9 : Web Conglomerator
10 : Service Registry
11 : Patterns
non Rapid Download
Rapidshare Download
Amazon View