Ver Mensaje Individual
  #7 (permalink)  
Antiguo 06/04/2011, 10:10
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: duda: objetos de negocio y conexión a la base de datos

Claro para eso es precisamente Dependendy Injection, mira este ejemplo:
Código PHP:
Ver original
  1. class Noticias {
  2.     private $_db;
  3.    
  4.     public function __construct() {}
  5.    
  6.     public function setDb(DBInterface $db) {
  7.         $this->_db = $db;
  8.     }
  9. }

Luego desde donde unes las clases:
Código PHP:
Ver original
  1. $Db = new DB(/** Datos **/);
  2. $Noticias = new Noticias();
  3. $Noticias->setDb($Db);

Así como dice _ssx la clase noticias requiere de una db para trabajar, pero a la hora de usar una interfaz/clase estamos desacoplando que tipo de db va a usar.

En el ejemplo del auto / llantas, usando DI es decirle este auto puede usar cualquier tipo de llanta (necesita llantas para caminar) pero puede ser llantas para nieve, llantas de carreras, etc.

Saludos.