Difference between revisions of "UML"

From BITPlan Wiki
Jump to navigation Jump to search
Line 35: Line 35:
 
</uml>
 
</uml>
 
==== Avoiding inheritance ====
 
==== Avoiding inheritance ====
class Regular_Reservation {
 
start:date
 
end:date
 
frequency:int
 
new(date,date,int)
 
}
 
Reservation -> Client
 
Reservation <|-- Regular_Reservation
 
Reservation "n" <- "1" Regular_Reservation
 
</uml>
 
 
 
<uml>
 
<uml>
 
hide circle
 
hide circle

Revision as of 11:49, 15 December 2018

Tools

Stackoverflow Tags

  1. argouml
  2. magicdraw
  3. enterprise architect
  4. rational rose
  5. umbrello
  6. umlet
  7. visual paradigm
  8. staruml

Tool-Evaluations

Stackoverflow Questions

Inheritance

When implementing inheritance there is usually some cost involved in terms of extra classes, tables, documentation and other results that need to be created after the decision to use inheritance.

Inheritance is about special and general cases. First you might want to ask what is the difference between the cases - (called a discriminator). In your case it is the type of reservation and you could avoid the inheritance by modelling this type of reservation and implementing the different behavior based on the reservation type. That would lead to a design like:

Avoiding inheritance

Learning UML

UML-Day