類別圖:新產品開發(職責鏈模式)

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類別圖說明

Share