Skip to content

Commit 6479608

Browse files
author
swaldmann
committed
2 parents 6290bb7 + 6367f16 commit 6479608

7 files changed

Lines changed: 64 additions & 9 deletions

File tree

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ fabric.properties
5858
*.iml
5959
modules.xml
6060
.idea/misc.xml
61-
.idea/sonarlint/
6261
*.ipr
6362

6463
### Java ###

doc/images/factory_method.png

997 Bytes
Loading

doc/images/state_class.png

5.59 KB
Loading

doc/images/state_transitions.png

16.3 KB
Loading

doc/plantuml/factory_method.puml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
@startuml
22

33
interface Logger {
4-
{abstract} void log(String mesage)
4+
{abstract} log(message : String) : void
55
}
66

77
class FileLogger {
8-
void log(String mesage)
8+
log(message : String) : void
99
}
1010

1111
class DbLogger {
12-
void log(String mesage)
12+
log(message : String) : void
1313
}
1414

1515
class SilentLogger {
16-
void log(String mesage)
16+
log(message : String) : void
1717
}
1818

1919
class LoggerFactory {
20-
Logger getLogger()
20+
getLogger() : Logger
2121
}
2222

23-
Logger <|-- FileLogger
24-
Logger <|-- DbLogger
25-
Logger <|-- SilentLogger
23+
Logger <|-- FileLogger : <<implem.>>
24+
Logger <|-- DbLogger : <<implem.>>
25+
Logger <|-- SilentLogger : <<implem.>>
2626

2727
LoggerFactory .up.> SilentLogger: <<creates>>
2828
LoggerFactory .up.> DbLogger: <<creates>>

doc/plantuml/state.puml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
@startuml
2+
3+
[*] --> Off
4+
Off --> On : turnOn()
5+
On --> Off : turnOff()
6+
On --> Washing : wash()
7+
Washing --> Paused : openDoor()
8+
Paused --> Washing : closeDoor()
9+
Washing --> Off : turnOff()
10+
11+
@enduml
12+
13+
@startuml
14+
15+
abstract class State {
16+
#stateName : String
17+
{abstract} turnOn() : State
18+
{abstract} turnOff() : State
19+
{abstract} wash() : State
20+
{abstract} openDoor() : State
21+
{abstract} closeDoor() : State
22+
getStateName() : String
23+
}
24+
25+
@enduml
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package de.doubleslash.kata.designpattern.state;
2+
3+
public abstract class State {
4+
5+
protected String stateName;
6+
7+
public State turnOn() {
8+
return this;
9+
}
10+
11+
public State turnOff() {
12+
return this;
13+
}
14+
15+
public State wash() {
16+
return this;
17+
}
18+
19+
public State openDoor() {
20+
return this;
21+
}
22+
23+
public State closeDoor() {
24+
return this;
25+
}
26+
27+
public String getStateName() {
28+
return stateName;
29+
}
30+
31+
}

0 commit comments

Comments
 (0)