Exacto, para lo que quieres es mejor usar un patrón como Factory, y que la conexión sea una dependencia del modelo, y sea inyectada, por ejemplo:
Código PHP:
Ver originalclass ModelFactory
{
public static function factory($sModel)
{
$db = self::getDb(); // Obtienes el db de alguna manera
$model = new $sModel();
$model->setDb($db);
return $model;
}
}
Así manejas que solo exista un punto para crear tu objeto DB, también puedes usar un registro local para guardar los modelos ya creados y no estes regresando modelos que no necesitas.
Te recomiendo leas de Dependencia de Inyecciones es una muy buena manera de hacer diseño de Software.
Saludos.