Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/08/2011, 04:40
Avatar de OsSk4R
OsSk4R
 
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: Object Oriented en la cruda realidad

Buenas,
En primer lugar yo creo que esta pregunta debería ir en el foro OOP.

En segundo lugar, voy a dar mi simple opinión como novato de la OOP :P así que mil disculpas si no es acertada.

De las opciones, yo elegiría la opción B o C. Son las que cumplen según mi parecer con la OOP.
Aunque creo que me quedaría con la opción B. ¿Me equivoco? Qué algun experto responda :P


Cita:
Vale, ahora vamos a la segunda parte. Nos quedamos con la clase User y nos olvidamos de Empleados, Clientes ...
Un usuario se guarda en la tabla Usuarios de la BD. Supongo que de alguna forma debería heredar de otra clase cómo guardar y extraer la info de la BD. En el fondo haríamos algo como User->LoadByNick("nickname"), o bien User->Save()

¿ como hacerlo independiente de tipo de BD o formato ? Si en vez de usar Mysql quisiera grabar en un fichero ascii ? Debería heredar ? o bien obtener de una variable mas global el objeto "storage" y que este manejara si es una BD o un fichero ascii ...
Con PDO o adodb puedes hacer que tu código trabaje para MySQL, Postgre, etc.


Cita:
Teniendo en cuenta que la clase User sólo contiene la información de un usuario ¿ hay que hacer una clase por encima que sea UsersList ?
La clase User debería de tener todo lo concerniente a un usuario. Sus datos personales, actividad, etc. Luego, podrías crear una clase llamada Usuarios, que sirva a nivel general y, ahí, introducir métodos como por ejemplo listar todos los usuarios, filtrar por X, etc.

Un saludo,