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
| @startuml
class Request { # type: string # content: string
+ __construct(string type, string content) + getType(): string + getContent(): string }
abstract class Handler { # role: string # canHandleType: array # requestType: string # requestContent: string # nextHandler: Handler
+ handle(Request request): string + setNextHandler(Handler handler) + canHandle(): boolean }
Request <- Handler
class Support class ProjectManager class Boss
Handler <|-- Support Handler <|-- ProjectManager Handler <|-- Boss
class Program { + handle(Request request): string }
Request <- Program Support <-- Program ProjectManager <-- Program Boss <-- Program
@enduml
|
ʕ •ᴥ•ʔ:若不熟悉 UML 類別圖,可參考UML類別圖說明。