Recently I was challenged on the fly to come up with an example of a factory pattern. Here is the result: /** * Database Connection Example * @author randymelder */ interface DatabaseConnection { function connect(); } class MySQLDatabaseConnection implements DatabaseConnection { var $link; var $user; var $pass; var $host; function __construct($host,$user,$pass) { $this->user = $user; [...]