Example #1
0
$flyweightFactory = new FlyweightFactory();
$flyweightBookShelf1 = new FlyweightBookShelf();
$flyweightBook1 = $flyweightFactory->getBook(1);
$flyweightBookShelf1->addBook($flyweightBook1);
$flyweightBook2 = $flyweightFactory->getBook(1);
$flyweightBookShelf1->addBook($flyweightBook2);
writeln('test 1 - show the two books are the same book');
if ($flyweightBook1 === $flyweightBook2) {
    writeln('1 and 2 are the same');
} else {
    writeln('1 and 2 are not the same');
}
writeln('');
writeln('test 2 - with one book on one self twice');
writeln($flyweightBookShelf1->showBooks());
writeln('');
$flyweightBookShelf2 = new FlyweightBookShelf();
$flyweightBook1 = $flyweightFactory->getBook(2);
$flyweightBookShelf2->addBook($flyweightBook1);
$flyweightBookShelf1->addBook($flyweightBook1);
writeln('test 3 - book shelf one');
writeln($flyweightBookShelf1->showBooks());
writeln('');
writeln('test 3 - book shelf two');
writeln($flyweightBookShelf2->showBooks());
writeln('');
writeln('END TESTING FLYWEIGHT PATTERN');
function writeln($line_in)
{
    echo $line_in . "<br/>";
}
Example #2
0
define('BR', '<' . 'BR' . '>');
echo 'BEGIN TESTING FLYWEIGHT PATTERN' . BR;
echo BR;
$flyweightFactory = new FlyweightFactory();
$flyweightBookShelf1 = new FlyweightBookShelf();
$flyweightBook1 = $flyweightFactory->getBook(1);
$flyweightBookShelf1->addBook($flyweightBook1);
$flyweightBook2 = $flyweightFactory->getBook(1);
$flyweightBookShelf1->addBook($flyweightBook2);
echo 'test 1 - show the two books are the same book' . BR;
if ($flyweightBook1 === $flyweightBook2) {
    echo '1 and 2 are the same';
} else {
    echo '1 and 2 are not the same';
}
echo BR . BR;
echo 'test 2 - with one book on one self twice' . BR;
echo $flyweightBookShelf1->showBooks();
echo BR;
$flyweightBookShelf2 = new FlyweightBookShelf();
$flyweightBook1 = $flyweightFactory->getBook(2);
$flyweightBookShelf2->addBook($flyweightBook1);
$flyweightBookShelf1->addBook($flyweightBook1);
echo 'test 3 - book shelf one' . BR;
echo $flyweightBookShelf1->showBooks();
echo BR;
echo 'test 3 - book shelf two' . BR;
echo $flyweightBookShelf2->showBooks();
echo BR . BR;
echo 'END TESTING FLYWEIGHT PATTERN' . BR;
s;