Skip to content

Instantly share code, notes, and snippets.

@patarok
Created January 27, 2026 12:36
Show Gist options
  • Select an option

  • Save patarok/03936ab90f2b569a32103717bdc073c4 to your computer and use it in GitHub Desktop.

Select an option

Save patarok/03936ab90f2b569a32103717bdc073c4 to your computer and use it in GitHub Desktop.
DinoPark UML Beispiel
@startuml
' =========================
' Core Entities
' =========================
class Dinosaur {
- speciesName : string
- shoulderHeightCm : int
- weightKg : int
- maxAge : int
- clutchSize : int
+ Guild : TrophicGuilds
+ LocomotionProfile : Locomotion
}
class ParkManager {
- breedingStation : BreedingStation
- garden : DinoGarten
- territories : List<Territory>
}
class BreedingStation {
- factory : DinoFactory
+ Breed()
}
class DinoFactory {
+ CreateStandardDinosaur() : Dinosaur
}
class DinoGarten {
- youngDinosaurs : List<Dinosaur>
+ GrowUp()
+ TransferDinosaur(d : Dinosaur)
}
' =========================
' Territories
' =========================
abstract class Territory {
- dinosaurs : List<Dinosaur>
+ AddDinosaur(d : Dinosaur)
}
class NorthernTerritory
class EasternTerritory
class SouthernTerritory
class WesternTerritory
' =========================
' Vererbung (is-a)
' =========================
Territory <|-- NorthernTerritory
Territory <|-- EasternTerritory
Territory <|-- SouthernTerritory
Territory <|-- WesternTerritory
' =========================
' Komposition (consists-of)
' =========================
ParkManager *-- BreedingStation : "1"
ParkManager *-- DinoGarten : "1"
BreedingStation *-- DinoFactory : "1"
DinoGarten *-- Dinosaur : "0..*"
' =========================
' Aggregation (has-a)
' =========================
ParkManager o-- Territory : "0..4"
Territory o-- Dinosaur : "0..*"
' =========================
' ENUMS
' =========================
enum TrophicGuilds {
Carnivore
Herbivore
Omnivore
}
enum CarnivoreTrophics {
Predators
Necrophage
Piscivore
Insectivore
}
enum OmnivoreTrophics {
Generalist
Entomovore
FrugivorCarnivor
}
enum HerbivoreTrophics {
Graminivore
Folivore
Frugivore
Granivore
}
enum Locomotion {
Biped
Quadruped
Facultative
Volant
}
@enduml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment