74 lines
752 B
Plaintext
74 lines
752 B
Plaintext
@startuml
|
|
component App
|
|
component Driver
|
|
interface " " as iDriver
|
|
|
|
component Spooler
|
|
interface " " as iSpooler
|
|
|
|
component Queue
|
|
interface " " as iQueue
|
|
|
|
component Printer
|
|
interface " " as iPrinter
|
|
|
|
App -( iDriver
|
|
iDriver - Driver
|
|
|
|
App --( iSpooler
|
|
iSpooler - Spooler
|
|
|
|
Spooler --( iQueue
|
|
iQueue - Queue
|
|
|
|
Printer --( iQueue
|
|
iPrinter - Printer
|
|
|
|
App --( iPrinter
|
|
|
|
|
|
note top of iDriver
|
|
operation:
|
|
..
|
|
print(PDF)
|
|
end note
|
|
|
|
note left of iSpooler
|
|
operation:
|
|
..
|
|
scheduleJob(PS)
|
|
end note
|
|
|
|
note left of iQueue
|
|
operations:
|
|
..
|
|
post(PS)
|
|
get(id)
|
|
delete(id)
|
|
end note
|
|
|
|
|
|
note left of iPrinter
|
|
operation:
|
|
..
|
|
print(id)
|
|
|
|
--
|
|
events:
|
|
..
|
|
print_started
|
|
print_done
|
|
|
|
--
|
|
properties:
|
|
..
|
|
paper_size
|
|
color
|
|
duplex
|
|
end note
|
|
|
|
|
|
|
|
skinparam monochrome true
|
|
skinparam shadowing false
|
|
@enduml |