design patterns : memento
This commit is contained in:
18
design-pattern/gof/src/memento/after/Client.java
Normal file
18
design-pattern/gof/src/memento/after/Client.java
Normal file
@@ -0,0 +1,18 @@
|
||||
package memento.after;
|
||||
|
||||
public class Client {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Game game = new Game();
|
||||
game.setBlueTeamScore(10);
|
||||
game.setRedTeamScore(20);
|
||||
|
||||
GameSave save = game.save();
|
||||
game.setBlueTeamScore(12);
|
||||
game.setRedTeamScore(22);
|
||||
game.restore(save);
|
||||
|
||||
System.out.println(game.getBlueTeamScore());
|
||||
System.out.println(game.getRedTeamScore());
|
||||
}
|
||||
}
|
||||
35
design-pattern/gof/src/memento/after/Game.java
Normal file
35
design-pattern/gof/src/memento/after/Game.java
Normal file
@@ -0,0 +1,35 @@
|
||||
package memento.after;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class Game implements Serializable {
|
||||
|
||||
private int redTeamScore;
|
||||
|
||||
private int blueTeamScore;
|
||||
|
||||
public int getRedTeamScore() {
|
||||
return redTeamScore;
|
||||
}
|
||||
|
||||
public void setRedTeamScore(int redTeamScore) {
|
||||
this.redTeamScore = redTeamScore;
|
||||
}
|
||||
|
||||
public int getBlueTeamScore() {
|
||||
return blueTeamScore;
|
||||
}
|
||||
|
||||
public void setBlueTeamScore(int blueTeamScore) {
|
||||
this.blueTeamScore = blueTeamScore;
|
||||
}
|
||||
|
||||
public GameSave save() {
|
||||
return new GameSave(this.blueTeamScore, this.redTeamScore);
|
||||
}
|
||||
|
||||
public void restore(GameSave gameSave) {
|
||||
this.blueTeamScore = gameSave.getBlueTeamScore();
|
||||
this.redTeamScore = gameSave.getRedTeamScore();
|
||||
}
|
||||
}
|
||||
21
design-pattern/gof/src/memento/after/GameSave.java
Normal file
21
design-pattern/gof/src/memento/after/GameSave.java
Normal file
@@ -0,0 +1,21 @@
|
||||
package memento.after;
|
||||
|
||||
public class GameSave {
|
||||
|
||||
private final int blueTeamScore;
|
||||
|
||||
private final int redTeamScore;
|
||||
|
||||
public GameSave(int blueTeamScore, int redTeamScore) {
|
||||
this.blueTeamScore = blueTeamScore;
|
||||
this.redTeamScore = redTeamScore;
|
||||
}
|
||||
|
||||
public int getBlueTeamScore() {
|
||||
return blueTeamScore;
|
||||
}
|
||||
|
||||
public int getRedTeamScore() {
|
||||
return redTeamScore;
|
||||
}
|
||||
}
|
||||
17
design-pattern/gof/src/memento/before/Client.java
Normal file
17
design-pattern/gof/src/memento/before/Client.java
Normal file
@@ -0,0 +1,17 @@
|
||||
package memento.before;
|
||||
|
||||
public class Client {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Game game = new Game();
|
||||
game.setRedTeamScore(10);
|
||||
game.setBlueTeamScore(20);
|
||||
|
||||
int blueTeamScore = game.getBlueTeamScore();
|
||||
int redTeamScore = game.getRedTeamScore();
|
||||
|
||||
Game restoredGame = new Game();
|
||||
restoredGame.setBlueTeamScore(blueTeamScore);
|
||||
restoredGame.setRedTeamScore(redTeamScore);
|
||||
}
|
||||
}
|
||||
26
design-pattern/gof/src/memento/before/Game.java
Normal file
26
design-pattern/gof/src/memento/before/Game.java
Normal file
@@ -0,0 +1,26 @@
|
||||
package memento.before;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class Game implements Serializable {
|
||||
|
||||
private int redTeamScore;
|
||||
|
||||
private int blueTeamScore;
|
||||
|
||||
public int getRedTeamScore() {
|
||||
return redTeamScore;
|
||||
}
|
||||
|
||||
public void setRedTeamScore(int redTeamScore) {
|
||||
this.redTeamScore = redTeamScore;
|
||||
}
|
||||
|
||||
public int getBlueTeamScore() {
|
||||
return blueTeamScore;
|
||||
}
|
||||
|
||||
public void setBlueTeamScore(int blueTeamScore) {
|
||||
this.blueTeamScore = blueTeamScore;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user