From 0ebafc5eaaac9ded775807321cec66ceea3f3b97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=93=D0=BB?= =?UTF-8?q?=D0=BE=D1=82=D0=BE=D0=B2?= Date: Sat, 30 May 2015 03:58:34 +0300 Subject: [PATCH] Memento pattern. - Caretaker should save history for normal pattern implementation. - Importent notes in code of Originator. - Readme with full pattern philosophy. - Tests and example of usage inside test. --- Behavioral/Memento/Caretaker.php | 29 +++-- Behavioral/Memento/Originator.php | 5 +- Behavioral/Memento/README.rst | 43 +++++--- Behavioral/Memento/Tests/MementoTest.php | 131 ++++++++++++++++++----- Behavioral/Memento/uml/uml.png | Bin 8364 -> 62525 bytes 5 files changed, 160 insertions(+), 48 deletions(-) diff --git a/Behavioral/Memento/Caretaker.php b/Behavioral/Memento/Caretaker.php index 340bb97..3a16fcd 100644 --- a/Behavioral/Memento/Caretaker.php +++ b/Behavioral/Memento/Caretaker.php @@ -4,12 +4,26 @@ namespace DesignPatterns\Behavioral\Memento; class Caretaker { - public static function run() + protected $history = array(); + + /** + * @return Memento + */ + public function getFromHistory($id) { - /* @var $savedStates Memento[] */ + return $this->history[$id]; + } - $savedStates = array(); + /** + * @param Memento $state + */ + public function saveToHistory(Memento $state) + { + $this->history[] = $state; + } + public function runCustomLogic() + { $originator = new Originator(); //Setting state to State1 @@ -17,17 +31,20 @@ class Caretaker //Setting state to State2 $originator->setState("State2"); //Saving State2 to Memento - $savedStates[] = $originator->saveToMemento(); + $this->saveToHistory($originator->getStateAsMemento()); //Setting state to State3 $originator->setState("State3"); // We can request multiple mementos, and choose which one to roll back to. // Saving State3 to Memento - $savedStates[] = $originator->saveToMemento(); + $this->saveToHistory($originator->getStateAsMemento()); //Setting state to State4 $originator->setState("State4"); - $originator->restoreFromMemento($savedStates[1]); + $originator->restoreFromMemento($this->getFromHistory(1)); //State after restoring from Memento: State3 + + return $originator->getStateAsMemento()->getState(); } + } diff --git a/Behavioral/Memento/Originator.php b/Behavioral/Memento/Originator.php index fec4e45..3acb0c1 100644 --- a/Behavioral/Memento/Originator.php +++ b/Behavioral/Memento/Originator.php @@ -15,14 +15,17 @@ class Originator */ public function setState($state) { + // you must check type of state inside child of this class + // or use type-hinting for full pattern implementation $this->state = $state; } /** * @return Memento */ - public function saveToMemento() + public function getStateAsMemento() { + // you must save a separate copy in Memento $state = is_object($this->state) ? clone $this->state : $this->state; return new Memento($state); diff --git a/Behavioral/Memento/README.rst b/Behavioral/Memento/README.rst index 6696149..2cbc555 100644 --- a/Behavioral/Memento/README.rst +++ b/Behavioral/Memento/README.rst @@ -4,26 +4,43 @@ Purpose ------- -Provide the ability to restore an object to its previous state (undo via -rollback). +It provides the ability to restore an object to its previous state (undo +via rollback) or to gain access to state of the object, without revealing +its implementation (ie, the object is not required to have a functional +for return the current state). -The memento pattern is implemented with three objects: the originator, a -caretaker and a memento. The originator is some object that has an -internal state. The caretaker is going to do something to the -originator, but wants to be able to undo the change. The caretaker first -asks the originator for a memento object. Then it does whatever -operation (or sequence of operations) it was going to do. To roll back -to the state before the operations, it returns the memento object to the -originator. The memento object itself is an opaque object (one which the -caretaker cannot, or should not, change). When using this pattern, care -should be taken if the originator may change other objects or resources -- the memento pattern operates on a single object. +The memento pattern is implemented with three objects: the Originator, a +Caretaker and a Memento. + +Memento – an object that *contains a concrete unique snapshot of state* of +any object or resource: string, number, array, an instance of class and so on. +The uniqueness in this case not imply the prohibition existence of similar +states in different snapshots. That means the state can be extracted as +the independent clone. Any object stored in the Memento should be +*a full copy of the original object rather than a reference* to the original +object. The Memento object is a "opaque object" (the object that no one can +or should change). + +Originator – it is an object that contains the *actual state of an external +object is strictly specified type*. Originator is able to create a unique +copy of this state and return it wrapped in a Memento. The Originator does +not know the history of changes. You can set a concrete state to Originator +from the outside, which will be considered as actual. The Originator must +make sure that given state corresponds the allowed type of object. Originator +may (but not should) have any methods, but they *they can't make changes to +the saved object state*. + +Caretaker *controls the states history*. He may make changes to an object; +take a decision to save the state of an external object in the Originator; +ask from the Originator snapshot of the current state; or set the Originator +state to equivalence with some snapshot from history. Examples -------- - The seed of a pseudorandom number generator - The state in a finite state machine +- Control for intermediate states of `ORM Model `_ before saving UML Diagram ----------- diff --git a/Behavioral/Memento/Tests/MementoTest.php b/Behavioral/Memento/Tests/MementoTest.php index 88110a6..ccc2097 100644 --- a/Behavioral/Memento/Tests/MementoTest.php +++ b/Behavioral/Memento/Tests/MementoTest.php @@ -2,6 +2,8 @@ namespace DesignPatterns\Behavioral\Memento\Tests; +use DesignPatterns\Behavioral\Memento\Caretaker; +use DesignPatterns\Behavioral\Memento\Memento; use DesignPatterns\Behavioral\Memento\Originator; /** @@ -10,6 +12,37 @@ use DesignPatterns\Behavioral\Memento\Originator; class MementoTest extends \PHPUnit_Framework_TestCase { + public function testUsageExample() + { + $originator = new Originator(); + $caretaker = new Caretaker(); + + $character = new \stdClass(); + $character->name = "Gandalf"; // new object + $originator->setState($character); // connect Originator to character object + + $character->name = "Gandalf the Grey"; // work on the object + $character->race = "Maia"; // still change something + $snapshot = $originator->getStateAsMemento(); // time to save state + $caretaker->saveToHistory($snapshot); // put state to log + + $character->name = "Sauron"; // change something + $character->race = "Ainur"; // and again + $this->assertAttributeEquals($character, "state", $originator); // state inside the Originator was equally changed + + $snapshot = $originator->getStateAsMemento(); // time to save another state + $caretaker->saveToHistory($snapshot); // put state to log + + $rollback = $caretaker->getFromHistory(0); + $originator->restoreFromMemento($rollback); // return to first state + $character = $rollback->getState(); // use character from old state + + $this->assertEquals("Gandalf the Grey", $character->name); // yes, that what we need + $character->name = "Gandalf the White"; // make new changes + + $this->assertAttributeEquals($character, "state", $originator); // and Originator linked to actual object again + } + public function testStringState() { $originator = new Originator(); @@ -18,52 +51,94 @@ class MementoTest extends \PHPUnit_Framework_TestCase $this->assertAttributeEquals("State1", "state", $originator); $originator->setState("State2"); - $this->assertAttributeEquals("State2", "state", $originator); - $savedState = $originator->saveToMemento(); - - $this->assertAttributeEquals("State2", "state", $savedState); + $snapshot = $originator->getStateAsMemento(); + $this->assertAttributeEquals("State2", "state", $snapshot); $originator->setState("State3"); - $this->assertAttributeEquals("State3", "state", $originator); - $originator->restoreFromMemento($savedState); - + $originator->restoreFromMemento($snapshot); $this->assertAttributeEquals("State2", "state", $originator); } - public function testObjectState() + public function testSnapshotIsClone() + { + $originator = new Originator(); + $object = new \stdClass(); + + $originator->setState($object); + $snapshot = $originator->getStateAsMemento(); + $object->new_property = 1; + + $this->assertAttributeEquals($object, "state", $originator); + $this->assertAttributeNotEquals($object, "state", $snapshot); + + $originator->restoreFromMemento($snapshot); + $this->assertAttributeNotEquals($object, "state", $originator); + } + + public function testCanChangeActualState() + { + $originator = new Originator(); + $first_state = new \stdClass(); + + $originator->setState($first_state); + $snapshot = $originator->getStateAsMemento(); + $second_state = $snapshot->getState(); + + $first_state->first_property = 1; // still actual + $second_state->second_property = 2; // just history + $this->assertAttributeEquals($first_state, "state", $originator); + $this->assertAttributeNotEquals($second_state, "state", $originator); + + $originator->restoreFromMemento($snapshot); + $first_state->first_property = 11; // now it lost state + $second_state->second_property = 22; // must be actual + $this->assertAttributeEquals($second_state, "state", $originator); + $this->assertAttributeNotEquals($first_state, "state", $originator); + } + + public function testStateWithDifferentObjects() { $originator = new Originator(); - $foo = new \stdClass(); - $foo->data = "foo"; + $first = new \stdClass(); + $first->data = "foo"; - $originator->setState($foo); + $originator->setState($first); + $this->assertAttributeEquals($first, "state", $originator); - $this->assertAttributeEquals($foo, "state", $originator); + $first_snapshot = $originator->getStateAsMemento(); + $this->assertAttributeEquals($first, "state", $first_snapshot); - $savedState = $originator->saveToMemento(); + $second = new \stdClass(); + $second->data = "bar"; + $originator->setState($second); + $this->assertAttributeEquals($second, "state", $originator); - $this->assertAttributeEquals($foo, "state", $savedState); + $originator->restoreFromMemento($first_snapshot); + $this->assertAttributeEquals($first, "state", $originator); + } - $bar = new \stdClass(); - $bar->data = "bar"; + public function testCaretaker() + { + $caretaker = new Caretaker(); + $memento1 = new Memento("foo"); + $memento2 = new Memento("bar"); + $caretaker->saveToHistory($memento1); + $caretaker->saveToHistory($memento2); + $this->assertAttributeEquals(array($memento1, $memento2), "history", $caretaker); + $this->assertEquals($memento1, $caretaker->getFromHistory(0)); + $this->assertEquals($memento2, $caretaker->getFromHistory(1)); - $originator->setState($bar); + } - $this->assertAttributeEquals($bar, "state", $originator); - - $originator->restoreFromMemento($savedState); - - $this->assertAttributeEquals($foo, "state", $originator); - - $foo->data = null; - - $this->assertAttributeNotEquals($foo, "state", $savedState); - - $this->assertAttributeNotEquals($foo, "state", $originator); + public function testCaretakerCustomLogic() + { + $caretaker = new Caretaker(); + $result = $caretaker->runCustomLogic(); + $this->assertEquals("State3", $result); } } diff --git a/Behavioral/Memento/uml/uml.png b/Behavioral/Memento/uml/uml.png index e96ea6951396c6d5101f156e6fccdb01365e0a89..0fde074e8a8f2f74c617bbc4a0e7323c2c346fb7 100644 GIT binary patch literal 62525 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

_fRntTQwG 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