return $this->title; } } echo tagins("html"); echo tagins("head"); echo tagins("/head"); echo tagins("body"); echo "BEGIN TESTING ABSTRACT FACTORY PATTERN"; echo tagins("br") . tagins("br"); echo 'testing OReillyBookFactory' . tagins("br"); $bookFactoryInstance = new OReillyBookFactory(); testConcreteFactory($bookFactoryInstance); echo tagins("br"); echo 'testing SamsBookFactory' . tagins("br"); $bookFactoryInstance = new SamsBookFactory(); testConcreteFactory($bookFactoryInstance); echo tagins("br"); echo "END TESTING ABSTRACT FACTORY PATTERN"; echo tagins("br"); echo tagins("/body"); echo tagins("/html"); function testConcreteFactory($bookFactoryInstance) { $phpBookOne = $bookFactoryInstance->makePHPBook(); echo 'first php Author: ' . $phpBookOne->getAuthor() . tagins("br"); echo 'first php Title: ' . $phpBookOne->getTitle() . tagins("br"); $phpBookTwo = $bookFactoryInstance->makePHPBook(); echo 'second php Author: ' . $phpBookTwo->getAuthor() . tagins("br"); echo 'second php Title: ' . $phpBookTwo->getTitle() . tagins("br"); $mySqlBook = $bookFactoryInstance->makeMySQLBook(); echo 'MySQL Author: ' . $mySqlBook->getAuthor() . tagins("br");
function __construct() { $this->price = '20$'; } function getPrice() { return $this->price; } } echo 'Начинаем тестировать паттерн Абстрактная фабрика<br><br>'; echo 'тестируем работу конкретной фабрику Apple<br>'; $factoryInstance = new AppleTechFactory(); testConcreteFactory($factoryInstance); echo 'тестируем работу конкретной фабрику Samsung<br>'; $factoryInstance = new SamsungTechFactory(); testConcreteFactory($factoryInstance); echo 'тестируем работу конкретной фабрику LG<br>'; $factoryInstance = new LGTechFactory(); testConcreteFactory($factoryInstance); echo "Тесты завершены<br>"; function testConcreteFactory(AbstractTechFactory $factoryInstance) { $lapTop = $factoryInstance->makeLapTop(); echo 'Цена первого ноутбука: ' . $lapTop->getPrice() . "<br>"; $lapTop = $factoryInstance->makeLapTop(); echo 'Цена второго ноутбука: ' . $lapTop->getPrice() . "<br>"; $phone = $factoryInstance->makePhone(); echo 'Цена телефона: ' . $phone->getPrice() . "<br>"; $SmartWatch = $factoryInstance->makeSmartWatch(); echo 'Цена SmartWatch: ' . $SmartWatch->getPrice() . "<br><br>"; }