java-design-patterns/producer-consumer/etc/producer-consumer.urm.puml
2019-12-07 18:03:49 +02:00

40 lines
864 B
Plaintext

@startuml
package com.iluwatar.producer.consumer {
class App {
- LOGGER : Logger {static}
+ App()
+ main(args : String[]) {static}
}
class Consumer {
- LOGGER : Logger {static}
- name : String
- queue : ItemQueue
+ Consumer(name : String, queue : ItemQueue)
+ consume()
}
class Item {
- id : int
- producer : String
+ Item(producer : String, id : int)
+ getId() : int
+ getProducer() : String
}
class ItemQueue {
- queue : BlockingQueue<Item>
+ ItemQueue()
+ put(item : Item)
+ take() : Item
}
class Producer {
- RANDOM : Random {static}
- itemId : int
- name : String
- queue : ItemQueue
+ Producer(name : String, queue : ItemQueue)
+ produce()
}
}
Consumer --> "-queue" ItemQueue
Producer --> "-queue" ItemQueue
ItemQueue --> "-queue" Item
@enduml