Ejemplo n.º 1
1
<?php

include_once "Hydra.php";
include_once "MyHydra1.php";
include_once "MyHydra2.php";
include_once "UnionRobot.php";
include_once "Factory.php";
$factory = new Factory();
echo "<pre>";
var_dump($factory->createMyHydra1(5));
var_dump($factory->createMyHydra2(2));
echo "</pre>";
Ejemplo n.º 2
0
<?php

/* 
Основной метод сложения роботов, по моему мнению, должен быть именно в UnionRobot, 
а не в Factory, т.к. UnionRobot по задумке интерфейса имеет метод addRobot. 
Factory же в свою очередь будет создавать UnionRobot и использовать его же метод addRobot, 
что бы сложить все добавленные в фабрику роботы в UnionRobot и потом его вернуть. 
Плюс ко всему UnionRobot будет тогда независим от Factory и его можно будет использовать 
повторно в других ситуациях.
Начал выполнение в 10:38.
Закончил выполенение в 11:33.
*/
require_once 'myhydra1.php';
require_once 'myhydra2.php';
require_once 'unionrobot.php';
require_once 'factory.php';
$factory = new Factory();
$factory->addType(new MyHydra1());
$factory->addType(new MyHydra2());
var_dump($factory->createMyHydra1(5));
var_dump($factory->createMyHydra2(2));
$unionRobot = new UnionRobot();
$unionRobot->addRobot(new MyHydra2());
$unionRobot->addRobot($factory->createMyHydra2(2));
$factory->addType($unionRobot);
$result = reset($factory->createUnionRobot(1));
var_dump($result);
Ejemplo n.º 3
0
<?php

/**
 * Created by PhpStorm.
 * User: ArtUr
 * Date: 29.09.2015
 * Time: 12:14
 */
include 'Factory.php';
include 'MyHydra1.php';
include 'MyHydra2.php';
include 'UnionRobot.php';
/* Create factory object */
$factory = new Factory();
/* Add type of robot to factory */
$factory->addType(new MyHydra1());
$factory->addType(new MyHydra2());
/* Generate objects of robots */
$myHydra1robot = $factory->createMyHydra1();
$myHydra2robots = $factory->createMyHydra2(2);
/* Create unionRobot object and set included types of robots */
$unionRobot = new UnionRobot();
$unionRobot->addRobot($myHydra1robot);
$unionRobot->addRobot($myHydra2robots);
/* Add union robot to factory list of types */
$factory->addType($unionRobot);
/* Generate objects of robots */
$unionRobots = $factory->createUnionRobot(5);
$unionRobot->addRobot($myHydra2robots);