Guide to the Unified Process Featuring UML, Java and Design Patterns

This chapter aims to consider whether your use of the UML is language-independent or not. To do this it will consider the facilities provided by the UML when modelling a system versus the facilities provided by the Java platform. Of course, if we were considering a different implementation language/environment we would need to consider the unique features of that language or platform. However, as this book focuses on Java we will only discuss Java. We will consider how Java maps to a variety of UML constructs, such as packages, interfaces, classes, templates and associations.
For a long time it was suggested that an object-oriented design is language-independent and that any language can be used to implement such a design (but that an object-oriented language will make it easier). Indeed, in the early 1990s I would have subscribed to this view; it was the perceived wisdom of the time. However, my experience has been that it makes life a great deal easier if you take into account the target language (or languages) for which you are designing. Indeed, this has been brought home to me on numerous occasions, to such an extent that I now say that in practice you need to consider target "platform"...