From 617754573cbd18f73a65466becce5ad59c5f388e Mon Sep 17 00:00:00 2001 From: Dominik Liebler Date: Tue, 6 Nov 2018 20:33:42 +0100 Subject: [PATCH] removed ...Interface suffix and added 2nd service to Bridge example --- Structural/Bridge/Formatter.php | 8 + Structural/Bridge/FormatterInterface.php | 8 - Structural/Bridge/HelloWorldService.php | 2 +- Structural/Bridge/HtmlFormatter.php | 4 +- Structural/Bridge/PingService.php | 11 + Structural/Bridge/PlainTextFormatter.php | 4 +- Structural/Bridge/README.rst | 10 +- Structural/Bridge/Service.php | 12 +- Structural/Bridge/Tests/BridgeTest.php | 12 +- Structural/Bridge/uml/Bridge.uml | 42 +- Structural/Bridge/uml/uml.png | Bin 40921 -> 40805 bytes Structural/Bridge/uml/uml.svg | 691 +++-------------------- 12 files changed, 145 insertions(+), 659 deletions(-) create mode 100644 Structural/Bridge/Formatter.php delete mode 100644 Structural/Bridge/FormatterInterface.php create mode 100644 Structural/Bridge/PingService.php diff --git a/Structural/Bridge/Formatter.php b/Structural/Bridge/Formatter.php new file mode 100644 index 0000000..7d161bf --- /dev/null +++ b/Structural/Bridge/Formatter.php @@ -0,0 +1,8 @@ +implementation->format('Hello World'); } diff --git a/Structural/Bridge/HtmlFormatter.php b/Structural/Bridge/HtmlFormatter.php index 79e49b5..043bc15 100644 --- a/Structural/Bridge/HtmlFormatter.php +++ b/Structural/Bridge/HtmlFormatter.php @@ -2,9 +2,9 @@ namespace DesignPatterns\Structural\Bridge; -class HtmlFormatter implements FormatterInterface +class HtmlFormatter implements Formatter { - public function format(string $text) + public function format(string $text): string { return sprintf('

%s

', $text); } diff --git a/Structural/Bridge/PingService.php b/Structural/Bridge/PingService.php new file mode 100644 index 0000000..f72cf81 --- /dev/null +++ b/Structural/Bridge/PingService.php @@ -0,0 +1,11 @@ +implementation->format('pong'); + } +} diff --git a/Structural/Bridge/PlainTextFormatter.php b/Structural/Bridge/PlainTextFormatter.php index af46283..1c36cb5 100644 --- a/Structural/Bridge/PlainTextFormatter.php +++ b/Structural/Bridge/PlainTextFormatter.php @@ -2,9 +2,9 @@ namespace DesignPatterns\Structural\Bridge; -class PlainTextFormatter implements FormatterInterface +class PlainTextFormatter implements Formatter { - public function format(string $text) + public function format(string $text): string { return $text; } diff --git a/Structural/Bridge/README.rst b/Structural/Bridge/README.rst index e228166..4bb6ef5 100644 --- a/Structural/Bridge/README.rst +++ b/Structural/Bridge/README.rst @@ -25,9 +25,9 @@ Code You can also find this code on `GitHub`_ -FormatterInterface.php +Formatter.php -.. literalinclude:: FormatterInterface.php +.. literalinclude:: Formatter.php :language: php :linenos: @@ -55,6 +55,12 @@ HelloWorldService.php :language: php :linenos: +PingService.php + +.. literalinclude:: PingService.php + :language: php + :linenos: + Test ---- diff --git a/Structural/Bridge/Service.php b/Structural/Bridge/Service.php index 06c6252..479b50f 100644 --- a/Structural/Bridge/Service.php +++ b/Structural/Bridge/Service.php @@ -5,25 +5,25 @@ namespace DesignPatterns\Structural\Bridge; abstract class Service { /** - * @var FormatterInterface + * @var Formatter */ protected $implementation; /** - * @param FormatterInterface $printer + * @param Formatter $printer */ - public function __construct(FormatterInterface $printer) + public function __construct(Formatter $printer) { $this->implementation = $printer; } /** - * @param FormatterInterface $printer + * @param Formatter $printer */ - public function setImplementation(FormatterInterface $printer) + public function setImplementation(Formatter $printer) { $this->implementation = $printer; } - abstract public function get(); + abstract public function get(): string; } diff --git a/Structural/Bridge/Tests/BridgeTest.php b/Structural/Bridge/Tests/BridgeTest.php index 4b89495..10e3e58 100644 --- a/Structural/Bridge/Tests/BridgeTest.php +++ b/Structural/Bridge/Tests/BridgeTest.php @@ -9,13 +9,17 @@ use PHPUnit\Framework\TestCase; class BridgeTest extends TestCase { - public function testCanPrintUsingThePlainTextPrinter() + public function testCanPrintUsingThePlainTextFormatter() { $service = new HelloWorldService(new PlainTextFormatter()); - $this->assertSame('Hello World', $service->get()); - // now change the implementation and use the HtmlFormatter instead - $service->setImplementation(new HtmlFormatter()); + $this->assertSame('Hello World', $service->get()); + } + + public function testCanPrintUsingTheHtmlFormatter() + { + $service = new HelloWorldService(new HtmlFormatter()); + $this->assertSame('

Hello World

', $service->get()); } } diff --git a/Structural/Bridge/uml/Bridge.uml b/Structural/Bridge/uml/Bridge.uml index d63905a..7b0eb0f 100644 --- a/Structural/Bridge/uml/Bridge.uml +++ b/Structural/Bridge/uml/Bridge.uml @@ -1,38 +1,48 @@ PHP - \DesignPatterns\Structural\Bridge\HtmlFormatter + \DesignPatterns\Structural\Bridge\Service - \DesignPatterns\Structural\Bridge\PlainTextFormatter - \DesignPatterns\Structural\Bridge\FormatterInterface - \DesignPatterns\Structural\Bridge\Service - \DesignPatterns\Structural\Bridge\HelloWorldService - \DesignPatterns\Structural\Bridge\HtmlFormatter + \DesignPatterns\Structural\Bridge\PlainTextFormatter + \DesignPatterns\Structural\Bridge\Formatter + \DesignPatterns\Structural\Bridge\Service + \DesignPatterns\Structural\Bridge\PingService + \DesignPatterns\Structural\Bridge\HelloWorldService + \DesignPatterns\Structural\Bridge\HtmlFormatter - + + + - + - - - + + + - + - - - + + + + + + + + + - + Fields Constants + Constructors Methods private diff --git a/Structural/Bridge/uml/uml.png b/Structural/Bridge/uml/uml.png index 6de5b02756e43c3569bed03ae7ae5b6f8153d469..c5a88e0aff51d70c55e731f64f8eaa981cf1e472 100644 GIT binary patch literal 40805 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 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - - format(text) + + - - + + - - - + + - - + + - - PlainTextFormatter + + - - PlainTextFormatter + + - - + + - - - - - - - - - - - - - - - - - - format(text) - - - - - - - - - - - - - PlainTextFormatter - - - PlainTextFormatter - - - - - - - - - - - - - - - - - - - - - - format(text) - - - - - - - - - - - - - FormatterInterface - - - FormatterInterface - - - - - - - - - - - - - - - - - - - - - - format(text) - - - - - - - - - - - - - FormatterInterface - - - FormatterInterface - - - - - - - - - - - - - - - - - - - - - - - - - implementation - - - - - - - - - - - - - - - - setImplementation(printer) - - - - - - - - - - - - - get() - - - - - - - - - - - - - Service - - - Service - - - - - - - - - - - - - - - - - - - - - - implementation - - - - - - - - - - - - - - - - - - - setImplementation(printer) - - - - - - - - - - - - - - - - get() - - - - - - - - - - - - - Service - - - Service - - - - - - - - - - - - - - - - - - - - - - get() - - - - - - - - - - - - - HelloWorldService - - - HelloWorldService - - - - - - - - - - - - - - - - - - - - - - get() - - - - - - - - - - - - - HelloWorldService - - - HelloWorldService - - - - - - - - - - - - - - - - - - - - - - format(text) - - - - - - - - - - - - - HtmlFormatter - - - HtmlFormatter - - - - - - - - - - - - - - - - - - - - - - format(text) - - - - - - - - - - - - - HtmlFormatter - - - HtmlFormatter - - - - - - - - - - + + + + + + + +