From c00be42790dfdfeab8ccd77f1f07f15e31310c9f Mon Sep 17 00:00:00 2001 From: Dominik Liebler Date: Fri, 6 Jun 2014 09:22:01 +0200 Subject: [PATCH] removed/moved newly added patterns --- Bridge/Assemble.php | 11 --- Bridge/Car.php | 20 ------ Bridge/Motorcycle.php | 20 ------ Bridge/Produce.php | 14 ---- Bridge/README.md | 6 -- Bridge/Vehicle.php | 22 ------ Bridge/Workshop.php | 11 --- Command/Client.php | 22 ------ Memento/Caretaker.php | 33 --------- Memento/Memento.php | 25 ------- Memento/Originator.php | 35 ---------- Memento/README.md | 18 ----- .../Repository}/MemoryStorage.php | 0 {Repository => More/Repository}/Post.php | 0 .../Repository}/PostRepository.php | 0 {Repository => More/Repository}/README.md | 0 {Repository => More/Repository}/Storage.php | 0 Tests/Bridge/BridgeTest.php | 26 ------- Tests/Memento/MementoTest.php | 69 ------------------- 19 files changed, 332 deletions(-) delete mode 100644 Bridge/Assemble.php delete mode 100644 Bridge/Car.php delete mode 100644 Bridge/Motorcycle.php delete mode 100644 Bridge/Produce.php delete mode 100644 Bridge/README.md delete mode 100644 Bridge/Vehicle.php delete mode 100644 Bridge/Workshop.php delete mode 100644 Command/Client.php delete mode 100644 Memento/Caretaker.php delete mode 100644 Memento/Memento.php delete mode 100644 Memento/Originator.php delete mode 100644 Memento/README.md rename {Repository => More/Repository}/MemoryStorage.php (100%) rename {Repository => More/Repository}/Post.php (100%) rename {Repository => More/Repository}/PostRepository.php (100%) rename {Repository => More/Repository}/README.md (100%) rename {Repository => More/Repository}/Storage.php (100%) delete mode 100644 Tests/Bridge/BridgeTest.php delete mode 100644 Tests/Memento/MementoTest.php diff --git a/Bridge/Assemble.php b/Bridge/Assemble.php deleted file mode 100644 index d9e25c9..0000000 --- a/Bridge/Assemble.php +++ /dev/null @@ -1,11 +0,0 @@ -workShop1->work(); - $this->workShop2->work(); - } - -} diff --git a/Bridge/Motorcycle.php b/Bridge/Motorcycle.php deleted file mode 100644 index 1eec4e8..0000000 --- a/Bridge/Motorcycle.php +++ /dev/null @@ -1,20 +0,0 @@ -workShop1->work(); - $this->workShop2->work(); - } - -} diff --git a/Bridge/Produce.php b/Bridge/Produce.php deleted file mode 100644 index 6e98e66..0000000 --- a/Bridge/Produce.php +++ /dev/null @@ -1,14 +0,0 @@ -workShop1 = $workShop1; - $this->workShop2 = $workShop2; - } - - public function manufacture() { - - } - -} diff --git a/Bridge/Workshop.php b/Bridge/Workshop.php deleted file mode 100644 index 8011857..0000000 --- a/Bridge/Workshop.php +++ /dev/null @@ -1,11 +0,0 @@ -setCommand($helloCommand); - $invoker->run(); - } -} diff --git a/Memento/Caretaker.php b/Memento/Caretaker.php deleted file mode 100644 index 9c24357..0000000 --- a/Memento/Caretaker.php +++ /dev/null @@ -1,33 +0,0 @@ -setState("State1"); - //Setting state to State2 - $originator->setState("State2"); - //Saving State2 to Memento - $savedStates[] = $originator->saveToMemento(); - //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(); - //Setting state to State4 - $originator->setState("State4"); - - $originator->restoreFromMemento($savedStates[1]); - //State after restoring from Memento: State3 - } -} diff --git a/Memento/Memento.php b/Memento/Memento.php deleted file mode 100644 index 358c037..0000000 --- a/Memento/Memento.php +++ /dev/null @@ -1,25 +0,0 @@ -state = $stateToSave; - } - - /** - * @return mixed - */ - public function getState() - { - return $this->state; - } -} diff --git a/Memento/Originator.php b/Memento/Originator.php deleted file mode 100644 index 726fbb3..0000000 --- a/Memento/Originator.php +++ /dev/null @@ -1,35 +0,0 @@ -state = $state; - } - - /** - * @return Memento - */ - public function saveToMemento() - { - $state = is_object($this->state) ? clone $this->state : $this->state; - - return new Memento($state); - } - - public function restoreFromMemento(Memento $memento) - { - $this->state = $memento->getState(); - } -} diff --git a/Memento/README.md b/Memento/README.md deleted file mode 100644 index 83ca2c0..0000000 --- a/Memento/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# Memento - -## Purpose - -Provide the ability to restore an object to its previous state (undo via rollback). - -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. - -## Examples - -* The seed of a pseudorandom number generator -* The state in a finite state machine diff --git a/Repository/MemoryStorage.php b/More/Repository/MemoryStorage.php similarity index 100% rename from Repository/MemoryStorage.php rename to More/Repository/MemoryStorage.php diff --git a/Repository/Post.php b/More/Repository/Post.php similarity index 100% rename from Repository/Post.php rename to More/Repository/Post.php diff --git a/Repository/PostRepository.php b/More/Repository/PostRepository.php similarity index 100% rename from Repository/PostRepository.php rename to More/Repository/PostRepository.php diff --git a/Repository/README.md b/More/Repository/README.md similarity index 100% rename from Repository/README.md rename to More/Repository/README.md diff --git a/Repository/Storage.php b/More/Repository/Storage.php similarity index 100% rename from Repository/Storage.php rename to More/Repository/Storage.php diff --git a/Tests/Bridge/BridgeTest.php b/Tests/Bridge/BridgeTest.php deleted file mode 100644 index 89df337..0000000 --- a/Tests/Bridge/BridgeTest.php +++ /dev/null @@ -1,26 +0,0 @@ -expectOutputString('Car Produced Assembled'); - $vehicle->manufacture(); - } - - public function testMotorcycle() { - $vehicle = new Motorcycle(new Produce(), new Assemble()); - $this->expectOutputString('Motorcycle Produced Assembled'); - $vehicle->manufacture(); - } - -} diff --git a/Tests/Memento/MementoTest.php b/Tests/Memento/MementoTest.php deleted file mode 100644 index d8a6ff7..0000000 --- a/Tests/Memento/MementoTest.php +++ /dev/null @@ -1,69 +0,0 @@ -setState("State1"); - - $this->assertAttributeEquals("State1", "state", $originator); - - $originator->setState("State2"); - - $this->assertAttributeEquals("State2", "state", $originator); - - $savedState = $originator->saveToMemento(); - - $this->assertAttributeEquals("State2", "state", $savedState); - - $originator->setState("State3"); - - $this->assertAttributeEquals("State3", "state", $originator); - - $originator->restoreFromMemento($savedState); - - $this->assertAttributeEquals("State2", "state", $originator); - } - - public function testObjectState() - { - $originator = new Memento\Originator(); - - $foo = new \stdClass(); - $foo->data = "foo"; - - $originator->setState($foo); - - $this->assertAttributeEquals($foo, "state", $originator); - - $savedState = $originator->saveToMemento(); - - $this->assertAttributeEquals($foo, "state", $savedState); - - $bar = new \stdClass(); - $bar->data = "bar"; - - $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); - } -}