$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/>"; }
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;