| ◆ 英文原书前言 |
It was 1991 when I got my first copy of Booch's classic
Object Oriented Design with Applications (first edition). I had learned
several OO languages by then, including C++ and Smalltalk. I was absolutely
thrilled by the concept of Booch's notation. Those clouds! Those relationships!
The message passing diagrams! As a software designer it was just what
I needed!
I also needed a tool to draw the diagrams. So I started writing
a CASE tool in Think-C for the Macintosh. I remember spending a lot
of time getting the cloud icon to look just right. Though I never
finished that CASE tool, one artifact of it remains. The cloud icon
I created has followed me from computer to computer, from Macintosh
to Windows, and has been the source of all the cloud icons I have
ever drawn in any book or article.
I remember the incredible day that my office partner, Billy Vogel,
was talking on the phone to a head-hunter. He looked over at me and
said: "Uncle Bob, I think you should take this call." The
recruiter was looking for consultants to work at Rational, with Grady
Booch, on a CASE tool to draw Booch Diagrams! How could such luck
drop right into my lap?
A dozen years have passed. I still have my original copy of Booch's
book. It's a bit frayed and dog-eared, but the book still has the
power to evoke echoes of the same old thrills.
Today, of course, we use UML -- the one-third offspring of Booch's
notation. UML is a powerful and comprehensive notation, far grander
in its sweep and scope than Booch's was. Whereas Booch's notation
was good for drawing pictures of software, UML is apparently good
for creating models of just about anything you can imagine -- or so
say some of its pundits. As grand and all-encompassing as UML may
be, I find that a reasonable subset is all I need for drawing pictures
of software. The same kind of pictures I used to create with Booch's
notation.This book is about that subset, and about those pictures.
This book takes the vast richness of UML 2.0 and boils it down to
the essence that every programmer needs in order to draw pictures
of his, or her, software designs. This book reduces the panoply of
UML widgets, icons, diagrams, relationships, and arrowheads, into
a simple suite of tools that Java programmers can use to record their
design decisions.
Make no mistake about it. This book will not teach you everything
about UML. But if you are a Java programmer, it will teach you what
you need to know. |
| ◆ 英文原书封底 |
UML for Java Programmers
Robert C. Martin
All the UML Java developers need to know
You don't use UML in a vacuum: you use it to build software with
a specific programming language. If that language is Java, you need
UML for Java Programmers. In this book, one of the world's leading
object design experts becomes your personal coach on UML 1&2 techniques
and best practices for the Java environment.
Robert C. Martin illuminates every UML 1&2 feature and concept
directly relevant to writing better Java software--and ignores features
irrelevant to Java developers. He explains what problems UML can and
can't solve, how Java and UML map to each other, and exactly how and
when to apply those mappings.
· Pragmatic coverage of UML as a working tool for Java developers
· Shows Java code alongside corresponding UML diagrams
· Covers every UML diagram relevant to Java programmers, including
class, object, sequence, collaboration, and state diagrams
· Introduces dX, a lightweight, powerfully productive RUP &
XP-derived process for successful software modeling
· Includes a detailed, start-to-finish case study: remote service
client, server, sockets, and tests |
| ◆ 英文原书目录 |
1. Overview of UML for Java? Programmers.
2. Working with Diagrams.
3. Class Diagrams.
4. Sequence Diagrams.
5. Use Cases.
6. Principles of OOD.
7. The Practices: dX.
8. Packages.
9. Object Diagrams.
10. State Diagrams.
11. Heuristics and Coffee.
12. SMC Remote Service: Case Study. index. |
|