-
Book Overview & Buying
-
Table Of Contents
Mastering PHP Design Patterns
By :
Like in real life, not all objects are easy to create, and some can take up excessive amounts of memory. The FlyWeight design pattern can help us minimize memory usage by sharing as much data as possible with similar objects.
This design pattern has limited use in most PHP applications, but it is still worth knowing it for the odd situation where it is incredibly useful.
Suppose we have a Shape interface with a draw method:
<?php
interface Shape
{
public function draw();
}
Let's create a Circle class that implements this interface. When implementing this, we build the ability to set the location of a circle with X and Y co-ordinates. We also create the ability to set the circle's radius and draw it (print out this information). Note how the color characteristic is set outside the class.
There's a very important reason for this. In our example, the color is state-independent; it is an intrinsic part of the circle. The location and size of the...