From adec443d9c655c14a24ea3aa9bb91d796570e944 Mon Sep 17 00:00:00 2001 From: maximkou Date: Sun, 2 Mar 2014 21:54:04 +0400 Subject: [PATCH] Delegation pattern --- Delegation/JuniorDeveloper.php | 14 +++++++++++++ Delegation/TeamLead.php | 32 +++++++++++++++++++++++++++++ Delegation/Usage.php | 9 ++++++++ Tests/Delegation/DelegationTest.php | 19 +++++++++++++++++ 4 files changed, 74 insertions(+) create mode 100644 Delegation/JuniorDeveloper.php create mode 100644 Delegation/TeamLead.php create mode 100644 Delegation/Usage.php create mode 100644 Tests/Delegation/DelegationTest.php diff --git a/Delegation/JuniorDeveloper.php b/Delegation/JuniorDeveloper.php new file mode 100644 index 0000000..e089162 --- /dev/null +++ b/Delegation/JuniorDeveloper.php @@ -0,0 +1,14 @@ +slave = $junior; + } + + /** + * TeamLead drink coffee, junior work + * @return mixed + */ + public function writeCode() + { + return $this->slave->writeBadCode(); + } +} diff --git a/Delegation/Usage.php b/Delegation/Usage.php new file mode 100644 index 0000000..0de2589 --- /dev/null +++ b/Delegation/Usage.php @@ -0,0 +1,9 @@ +writeCode(); diff --git a/Tests/Delegation/DelegationTest.php b/Tests/Delegation/DelegationTest.php new file mode 100644 index 0000000..682805b --- /dev/null +++ b/Tests/Delegation/DelegationTest.php @@ -0,0 +1,19 @@ +assertEquals("Some junior developer generated code...", $teamLead->writeCode()); + } +}