java-design-patterns/null-object/etc/null-object.urm.puml

41 lines
916 B
Plaintext
Raw Normal View History

2019-12-07 18:03:49 +02:00
@startuml
package com.iluwatar.nullobject {
class App {
+ App()
+ main(args : String[]) {static}
}
interface Node {
+ getLeft() : Node {abstract}
+ getName() : String {abstract}
+ getRight() : Node {abstract}
+ getTreeSize() : int {abstract}
+ walk() {abstract}
}
class NodeImpl {
- LOGGER : Logger {static}
- left : Node
- name : String
- right : Node
+ NodeImpl(name : String, left : Node, right : Node)
+ getLeft() : Node
+ getName() : String
+ getRight() : Node
+ getTreeSize() : int
+ walk()
}
class NullNode {
- instance : NullNode {static}
- NullNode()
+ getInstance() : NullNode {static}
+ getLeft() : Node
+ getName() : String
+ getRight() : Node
+ getTreeSize() : int
+ walk()
}
}
NullNode --> "-instance" NullNode
NodeImpl --> "-left" Node
NodeImpl ..|> Node
NullNode ..|> Node
@enduml