Example: 動物園管理員
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| @startuml Example-ZooKeeper-Visitor-Pattern
interface IFeeder { +Feed(Monkey) +Feed(Cow) +Feed(Lion) }
class Feeder { +Feed(Monkey) +Feed(Cow) +Feed(Lion) }
interface IFeedable { +FeedBy(IFeeder) }
class Monkey { +FeedBy(IFeeder) }
class Cow { +FeedBy(IFeeder) }
class Lion { +FeedBy(IFeeder) }
IFeeder <|.. Feeder IFeedable <|.. Monkey IFeedable <|.. Cow IFeedable <|.. Lion
Feeder --> Monkey Feeder --> Cow Feeder --> Lion
class Zoo { +FeedAnimals() }
Zoo --> Feeder Zoo --> IFeedable
@enduml
|
ʕ •ᴥ•ʔ:若不熟悉 UML 類別圖,可參考UML類別圖說明。