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 48 49 50 51 52 53 54 55
| @startuml
class Itinerary { # from: string # to: string # day: int # hotel: string # transport: string
+ __set(name, value) + __get(name): string | int + toArray(): array }
interface ItineraryPlanable { + from(string from): self + to(string to): self + spendDays(int days): self + stayAt(string hotel): self + travelBy(string transport): self + getItinerary(): Itinerary }
class ItineraryBuilder { # itinerary: Itinerary
+ __construct() }
ItineraryPlanable <|.. ItineraryBuilder ItineraryBuilder -> Itinerary
class TravelAgency { # itineraryBuilder: ItineraryPlanable
+ __construct(ItineraryPlanable itineraryBuilder) + getHighSpeedRailItinerary(): array + getFiveDaysTokyoItinerary(): array }
TravelAgency -> ItineraryPlanable
class Program { + getDomesticTravel(): array + getInternationalTravel(): array }
Program --> TravelAgency
@enduml
|
ʕ •ᴥ•ʔ:若不熟悉 UML 類別圖,可參考UML類別圖說明。