it was created the Creational namespace and append its patterns

This commit is contained in:
Antonio Spinelli
2014-04-15 22:59:59 -03:00
parent 646e0e2fd9
commit 7bf6593e3f
53 changed files with 77 additions and 95 deletions

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\AbstractFactory;
namespace DesignPatterns\Creational\AbstractFactory;
/**
* class AbstractFactory

View File

@@ -1,10 +1,10 @@
<?php
namespace DesignPatterns\Tests\AbstractFactory;
namespace DesignPatterns\Creational\AbstractFactory;
use DesignPatterns\AbstractFactory\AbstractFactory;
use DesignPatterns\AbstractFactory\HtmlFactory;
use DesignPatterns\AbstractFactory\JsonFactory;
use DesignPatterns\Creational\AbstractFactory\AbstractFactory;
use DesignPatterns\Creational\AbstractFactory\HtmlFactory;
use DesignPatterns\Creational\AbstractFactory\JsonFactory;
/**
* AbstractFactoryTest tests concrete factories
@@ -34,7 +34,7 @@ class AbstractFactoryTest extends \PHPUnit_Framework_TestCase
$factory->createText('footnotes')
);
$this->assertContainsOnly('DesignPatterns\AbstractFactory\MediaInterface', $article);
$this->assertContainsOnly('DesignPatterns\Creational\AbstractFactory\MediaInterface', $article);
/* this is the time to look at the Builder pattern. This pattern
* helps you to create complex object like that article above with

View File

@@ -1,8 +1,8 @@
<?php
namespace DesignPatterns\AbstractFactory\Html;
namespace DesignPatterns\Creational\AbstractFactory\Html;
use DesignPatterns\AbstractFactory\Picture as BasePicture;
use DesignPatterns\Creational\AbstractFactory\Picture as BasePicture;
/**
* Class Picture

View File

@@ -1,8 +1,8 @@
<?php
namespace DesignPatterns\AbstractFactory\Html;
namespace DesignPatterns\Creational\AbstractFactory\Html;
use DesignPatterns\AbstractFactory\Text as BaseText;
use DesignPatterns\Creational\AbstractFactory\Text as BaseText;
/**
* Class Text

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\AbstractFactory;
namespace DesignPatterns\Creational\AbstractFactory;
/**
* Class HtmlFactory

View File

@@ -1,8 +1,8 @@
<?php
namespace DesignPatterns\AbstractFactory\Json;
namespace DesignPatterns\Creational\AbstractFactory\Json;
use DesignPatterns\AbstractFactory\Picture as BasePicture;
use DesignPatterns\Creational\AbstractFactory\Picture as BasePicture;
/**
* Class Picture

View File

@@ -1,8 +1,8 @@
<?php
namespace DesignPatterns\AbstractFactory\Json;
namespace DesignPatterns\Creational\AbstractFactory\Json;
use DesignPatterns\AbstractFactory\Text as BaseText;
use DesignPatterns\Creational\AbstractFactory\Text as BaseText;
/**
* Class Text

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\AbstractFactory;
namespace DesignPatterns\Creational\AbstractFactory;
/**
* Class JsonFactory

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\AbstractFactory;
namespace DesignPatterns\Creational\AbstractFactory;
/**
* Interface MediaInterface

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\AbstractFactory;
namespace DesignPatterns\Creational\AbstractFactory;
/**
* Class Picture

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\AbstractFactory;
namespace DesignPatterns\Creational\AbstractFactory;
/**
* Class Text

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\Builder;
namespace DesignPatterns\Creational\Builder;
/**
* BikeBuilder builds bike

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\Builder;
namespace DesignPatterns\Creational\Builder;
/**
*

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\Builder;
namespace DesignPatterns\Creational\Builder;
/**
* CarBuilder builds car

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\Builder;
namespace DesignPatterns\Creational\Builder;
/**
* Director is part of the builder pattern. It knows the interface of the builder

View File

@@ -1,11 +1,11 @@
<?php
namespace DesignPatterns\Tests\Builder;
namespace DesignPatterns\Creational\Builder;
use DesignPatterns\Builder\Director;
use DesignPatterns\Builder\CarBuilder;
use DesignPatterns\Builder\BikeBuilder;
use DesignPatterns\Builder\BuilderInterface;
use DesignPatterns\Creational\Builder\Director;
use DesignPatterns\Creational\Builder\CarBuilder;
use DesignPatterns\Creational\Builder\BikeBuilder;
use DesignPatterns\Creational\Builder\BuilderInterface;
/**
* DirectorTest tests the builder pattern
@@ -37,6 +37,6 @@ class DirectorTest extends \PHPUnit_Framework_TestCase
public function testBuild(BuilderInterface $builder)
{
$newVehicle = $this->director->build($builder);
$this->assertInstanceOf('DesignPatterns\Builder\Parts\Vehicle', $newVehicle);
$this->assertInstanceOf('DesignPatterns\Creational\Builder\Parts\Vehicle', $newVehicle);
}
}

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\Builder\Parts;
namespace DesignPatterns\Creational\Builder\Parts;
/**
* Bike is a bike

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\Builder\Parts;
namespace DesignPatterns\Creational\Builder\Parts;
/**
* Car is a car

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\Builder\Parts;
namespace DesignPatterns\Creational\Builder\Parts;
/**
* Class Door

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\Builder\Parts;
namespace DesignPatterns\Creational\Builder\Parts;
/**
* Class Engine

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\Builder\Parts;
namespace DesignPatterns\Creational\Builder\Parts;
/**
* VehicleInterface is a contract for a vehicle

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\Builder\Parts;
namespace DesignPatterns\Creational\Builder\Parts;
/**
* Class Wheel

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\FactoryMethod;
namespace DesignPatterns\Creational\FactoryMethod;
/**
* Bicycle is a bicycle

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\FactoryMethod;
namespace DesignPatterns\Creational\FactoryMethod;
/**
* class FactoryMethod

View File

@@ -1,10 +1,10 @@
<?php
namespace DesignPatterns\Tests\FactoryMethod;
namespace DesignPatterns\Creational\FactoryMethod;
use DesignPatterns\FactoryMethod\FactoryMethod;
use DesignPatterns\FactoryMethod\GermanFactory;
use DesignPatterns\FactoryMethod\ItalianFactory;
use DesignPatterns\Creational\FactoryMethod\FactoryMethod;
use DesignPatterns\Creational\FactoryMethod\GermanFactory;
use DesignPatterns\Creational\FactoryMethod\ItalianFactory;
/**
* FactoryMethodTest tests the factory method pattern
@@ -34,7 +34,7 @@ class FactoryMethodTest extends \PHPUnit_Framework_TestCase
// about the factory, all we know is it can produce vehicle
foreach ($this->type as $oneType) {
$vehicle = $shop->create($oneType);
$this->assertInstanceOf('DesignPatterns\FactoryMethod\VehicleInterface', $vehicle);
$this->assertInstanceOf('DesignPatterns\Creational\FactoryMethod\VehicleInterface', $vehicle);
}
}

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\FactoryMethod;
namespace DesignPatterns\Creational\FactoryMethod;
/**
* Ferrari is a italian car

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\FactoryMethod;
namespace DesignPatterns\Creational\FactoryMethod;
/**
* GermanFactory is a vehicle factory in Germany

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\FactoryMethod;
namespace DesignPatterns\Creational\FactoryMethod;
/**
* ItalianFactory is vehicle factory in Italy

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\FactoryMethod;
namespace DesignPatterns\Creational\FactoryMethod;
/**
* Porsche is a german car

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\FactoryMethod;
namespace DesignPatterns\Creational\FactoryMethod;
/**
* VehicleInterface is a contract for a vehicle

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns;
namespace DesignPatterns\Creational\Multiton;
/**
* class Multiton

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\Pool;
namespace DesignPatterns\Creational\Pool;
class Pool
{

View File

@@ -1,14 +1,13 @@
<?php
namespace DesignPatterns\Tests\Pool;
namespace DesignPatterns\Creational\Pool;
use DesignPatterns\Pool\Pool;
use DesignPatterns\Creational\Pool\Pool;
class TestWorker
{
public $id = 1;
}
class PoolTest extends \PHPUnit_Framework_TestCase
@@ -16,7 +15,7 @@ class PoolTest extends \PHPUnit_Framework_TestCase
public function testPool()
{
$pool = new Pool('DesignPatterns\Tests\Pool\TestWorker');
$pool = new Pool('DesignPatterns\Creational\Pool\TestWorker');
$worker = $pool->get();
$this->assertEquals(1, $worker->id);
@@ -27,6 +26,5 @@ class PoolTest extends \PHPUnit_Framework_TestCase
$this->assertEquals(5, $pool->get()->id);
$this->assertEquals(1, $pool->get()->id);
}
}

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\Pool;
namespace DesignPatterns\Creational\Pool;
class Processor
{

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\Pool;
namespace DesignPatterns\Creational\Pool;
class Worker
{

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\Prototype;
namespace DesignPatterns\Creational\Prototype;
/**
* Class BarBookPrototype

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\Prototype;
namespace DesignPatterns\Creational\Prototype;
/**
* class BookPrototype

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\Prototype;
namespace DesignPatterns\Creational\Prototype;
/**
* Class FooBookPrototype

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\Prototype;
namespace DesignPatterns\Creational\Prototype;
$fooPrototype = new FooBookPrototype();
$barPrototype = new BarBookPrototype();

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\SimpleFactory;
namespace DesignPatterns\Creational\SimpleFactory;
/**
* Bicycle is a bicycle

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\SimpleFactory;
namespace DesignPatterns\Creational\SimpleFactory;
/**
* class ConcreteFactory

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\SimpleFactory;
namespace DesignPatterns\Creational\SimpleFactory;
/**
* Scooter is a Scooter

View File

@@ -1,8 +1,8 @@
<?php
namespace DesignPatterns\Tests\SimpleFactory;
namespace DesignPatterns\Creational\SimpleFactory;
use DesignPatterns\SimpleFactory\ConcreteFactory;
use DesignPatterns\Creational\SimpleFactory\ConcreteFactory;
/**
* SimpleFactoryTest tests the Simple Factory pattern
@@ -31,7 +31,7 @@ class SimpleFactoryTest extends \PHPUnit_Framework_TestCase
public function testCreation($type)
{
$obj = $this->factory->createVehicle($type);
$this->assertInstanceOf('DesignPatterns\SimpleFactory\VehicleInterface', $obj);
$this->assertInstanceOf('DesignPatterns\Creational\SimpleFactory\VehicleInterface', $obj);
}
/**

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\SimpleFactory;
namespace DesignPatterns\Creational\SimpleFactory;
/**
* VehicleInterface is a contract for a vehicle

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\Singleton;
namespace DesignPatterns\Creational\Singleton;
/**
* class Singleton
@@ -8,7 +8,7 @@ namespace DesignPatterns\Singleton;
class Singleton
{
/**
* @var cached reference to singleton instance
* @var Singleton reference to singleton instance
*/
private static $instance;

View File

@@ -1,8 +1,8 @@
<?php
namespace DesignPatterns\Tests\Singleton;
namespace DesignPatterns\Creational\Singleton;
use DesignPatterns\Singleton\Singleton;
use DesignPatterns\Creational\Singleton\Singleton;
/**
* SingletonTest tests the singleton pattern
@@ -13,7 +13,7 @@ class SingletonTest extends \PHPUnit_Framework_TestCase
public function testUniqueness()
{
$firstCall = Singleton::getInstance();
$this->assertInstanceOf('DesignPatterns\Singleton\Singleton', $firstCall);
$this->assertInstanceOf('DesignPatterns\Creational\Singleton\Singleton', $firstCall);
$secondCall = Singleton::getInstance();
$this->assertSame($firstCall, $secondCall);
}

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\StaticFactory;
namespace DesignPatterns\Creational\StaticFactory;
/**
* Class FormatNumber

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\StaticFactory;
namespace DesignPatterns\Creational\StaticFactory;
/**
* Class FormatString

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\StaticFactory;
namespace DesignPatterns\Creational\StaticFactory;
/**
* Class FormatterInterface

View File

@@ -1,6 +1,6 @@
<?php
namespace DesignPatterns\StaticFactory;
namespace DesignPatterns\Creational\StaticFactory;
/**
* Note1: Remember, static => global => evil

View File

@@ -1,8 +1,8 @@
<?php
namespace DesignPatterns\Tests\StaticFactory;
namespace DesignPatterns\Creational\StaticFactory;
use DesignPatterns\StaticFactory\StaticFactory;
use DesignPatterns\Creational\StaticFactory\StaticFactory;
/**
* Tests for Static Factory pattern
@@ -25,6 +25,6 @@ class StaticFactoryTest extends \PHPUnit_Framework_TestCase
public function testCreation($type)
{
$obj = StaticFactory::factory($type);
$this->assertInstanceOf('DesignPatterns\StaticFactory\FormatterInterface', $obj);
$this->assertInstanceOf('DesignPatterns\Creational\StaticFactory\FormatterInterface', $obj);
}
}

View File

@@ -1,16 +0,0 @@
<?php
use DesignPatterns\Pool\Pool;
use DesignPatterns\Pool\Processor;
$pool = new Pool('DesignPatterns\Pool\Worker');
$processor = new Processor($pool);
$processor->process('image1.jpg');
$processor->process('image2.jpg');
$processor->process('image3.jpg');
$processor->process('image4.jpg');
$processor->process('image5.jpg');
$processor->process('image6.jpg');
$processor->process('image7.jpg');
$processor->process('image8.jpg');