|
Interface Oriented Design
Interface Oriented Design focuses on an important, but often
neglected, aspect of object-oriented design. You'll learn by
pragmatic example how to create effective designs composed
of interfaces to objects, components and services. You'll
see techniques for breaking down solutions into interfaces
and then determining appropriate
implementation of those
interfaces to create a well structured, robust, working
program.
Interface Oriented Design explores how to develop robust,
reliable software as a collection of interfaces that
interact with each other.
You'll learn what polymorphism and encapsulation really
mean, and how to use these ideas more effectively. See how
to create better interfaces using agile development
techniques, and learn the subtle differences between
implementing an interface and inheriting an implementation.
Take a fresh, modern view of Design By Contract and class
responsibilities. Understand the basis of a service-oriented
architecture, including stateful versus stateless
interfaces, procedural versus document models, and
synchronous versus asynchronous invocations.
Learn about the most useful patterns, including Proxy,
Facade, Adapter, and Factory, as well categories of
interfaces including service providers, information holders,
and external world interfaces.
If you want to be a more effective programmer and create
better software, you need Interface Oriented Design.
Introduction to interfaces
Interface contracts
Interface ingredients
What should be in an interface
Inheritance
Remote interfaces
A little process
Link checker
Web conglomerator
Service registry
Patterns
|