23.07.2012 Views

Design Patterns Explained

Design Patterns Explained

Design Patterns Explained

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3O Part I • An Introduction to Object-Oriented Software Development<br />

for the dissemination, that is, the distribution of the code) (see<br />

Table 2-1). Each diagram shows the relationships among the different<br />

sets of entities, depending upon the purpose of the diagram.<br />

Table 2-1 UML Diagrams and Their Purposes<br />

When You Are... Use the UML Diagram...<br />

In the analysis phase<br />

Looking at object<br />

interactions<br />

In the design phase<br />

Looking at an object's<br />

behaviors that differ<br />

based upon the state<br />

that the object is in<br />

In the deployment<br />

phase<br />

Use Case Diagrams, which involve entities<br />

interacting with the system (say, users and other<br />

systems) and the function points that I need to<br />

implement.<br />

Activity Diagrams, which focus on workflow of<br />

the problem domain (the actual space where<br />

people and other agents are working, the subject<br />

area of the program) rather than the logic<br />

flow of the program.<br />

Note: Since this book is principally focused on<br />

design, I will not cover Use Case Diagrams or<br />

Activity Diagrams here.<br />

Interaction Diagrams, which show how specific<br />

objects interact with each other. Since they deal<br />

with specific cases rather than general situations,<br />

they are helpful both when checking<br />

requirements and when checking designs. The<br />

most popular kind of Interaction Diagram is the<br />

Sequence Diagram.<br />

Class Diagrams, which detail the relationships<br />

between the classes.<br />

State Diagrams, which detail the different states<br />

an object may be in as well as the transitions<br />

between these states.<br />

Deployment Diagrams, which show how different<br />

modules will be deployed. I will not talk about<br />

these diagrams here.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!