• Viernes 29 de Marzo de 2024, 11:10

Autor Tema:  Agenda en POO(recibo criticas)  (Leído 4382 veces)

cesand

  • Miembro MUY activo
  • ***
  • Mensajes: 127
    • Ver Perfil
Agenda en POO(recibo criticas)
« en: Viernes 10 de Septiembre de 2010, 23:03 »
0
Gente como les va?
comenzando con la POO cree esta aplicacion basica qe es un ABM (alta, baja, modificacion) estoy empezando y la subi a la web para que en lo posible le den una mirada y opinen bien o mal la idea es mejorar..
La idea de la aplicacion es una agenda de contactos personales online

Agenda: http://www.addcontactos.260mb.com/index.php

Amigos voy a poner a desposicion de todos los script de la aplicacion.. si no es mucha molestia lo que me encantaria consegir qe le den na mirada rapida anque sea a los codigos no para buscar errores sino para qe me digan "es POO" o "no es POO" como la programe nada mas para saber si voy encaminado :)

script con la db incluida:
http://rapidshare.com/files/418308019/agenda.rar

PD: cambiando solo los parametros de mysql_connect() en la clase segun como los trabajen ustedes tendria que fncionar en local si quieren.
Le falto un buscador a la agenda pero bueno eso para la version 2.0 XD

ibito

  • Miembro HIPER activo
  • ****
  • Mensajes: 549
  • Nacionalidad: mx
  • Se mas de C++ que lo que se de ese CSS
    • Ver Perfil
    • http://www.ibquezada.com
Re: Agenda en POO(recibo criticas)
« Respuesta #1 en: Lunes 13 de Septiembre de 2010, 19:31 »
0
Mira, no te voy a decir que está mal porque tu agenda funciona, sin embargo, tu quieres saber si tu código es POO, pues si y no.
¿Cómo es esto?
Pues resulta que en tu código, tienes clases, haces instancias de ellas (objetos) y por lo tanto si es programación orientada a objetos, sin embargo, yo te recomendaría por ejemplo que no dividieras tanto tus clases, es decir, tener una clase database, en la cual definieras la conexión y los métodos (llamadas funciones en un paradigma no orientado a objetos) con los cuales te conectaras, hicieras consultas a la base de datos, etcétera.
Un ejemplo (el cual estoy escribiendo al vuelo y no está comprobado) sería algo así:
Código: PHP
  1.  
  2. <?php
  3. class Database {
  4.   private $User;
  5.   private $Password;
  6.   private $Database;
  7.   private $Host;
  8.   private $_Link; // aquí mantienes el enlace a la base de datos en caso que lo ocupes.
  9.  
  10.   public function __construct($host, $user, $pass) {
  11.     $this->Host = $host;
  12.     $this->User = $user;
  13.     $this->Password = $pass;
  14.  
  15.     $this->_Link = mysql_connect($this->Host, $this->User, $this->Password);
  16.   }
  17.  
  18.   public function __destruct() {
  19.     mysql_close($this->_Link;
  20.   }
  21.  
  22.   public function Insert($arg1, $arg2) {
  23.     // código para insertar.
  24.   }
  25. }
  26.  
  27.  

Es solo un ejemplo y alguien puede mejorarlo mucho, espero te haya ayudado un poco.
______________________________________
www.hazjuegos.com Una comunidad dedicada al desarrollo de videojuegos.

cesand

  • Miembro MUY activo
  • ***
  • Mensajes: 127
    • Ver Perfil
Re: Agenda en POO(recibo criticas)
« Respuesta #2 en: Jueves 16 de Septiembre de 2010, 03:10 »
0
Muchisimas gracias por tu opinion ibito, es justo lo que pretendia. mas qe vean la funcionalidad de la aplicacion.. una opinion de los script y el desarrollo en POO.. encuanto a la clase que mostraste asi rapido estoy usando ahora una muy similar a esa que hice  :D mil gracias amigo.. una ultima cosa que me gustaria saber el consepto de encapsulado lo estoy cumpliendo? o no?

Suerte

ibito

  • Miembro HIPER activo
  • ****
  • Mensajes: 549
  • Nacionalidad: mx
  • Se mas de C++ que lo que se de ese CSS
    • Ver Perfil
    • http://www.ibquezada.com
Re: Agenda en POO(recibo criticas)
« Respuesta #3 en: Viernes 17 de Septiembre de 2010, 20:31 »
0
Citar
Encapsulación
Encapsulamiento es el ocultamiento del estado, es decir, de los datos miembro, de un objeto de manera que sólo se puede cambiar mediante las operaciones definidas para ese objeto.

Básicamente, (a lo que yo entiendo y alguien nos puede sacar de la duda) es ponerle modificadores de acceso a los miembros, para que estos no puedan ser accesados desde cualquier parte de tu código, y uses propiedades (get y set), en vez de modificar con
Código: PHP
  1.  
  2. $objeto->sql = "select * from tabla";
  3.  
  4.  
uses
Código: PHP
  1.  
  2. $objeto->sql("select * from tabla");
  3.  
  4.  

Con esto tu puedes tratar el string enviado de la misma forma cada vez que lo uses (ej. ¿ mysql_real_escape_string ?).


Algo que te puede ayudar http://mundogeek.net/archivos/2010/04/25/propiedades-en-php/
Espero haberme explicado :)
______________________________________
www.hazjuegos.com Una comunidad dedicada al desarrollo de videojuegos.

cesand

  • Miembro MUY activo
  • ***
  • Mensajes: 127
    • Ver Perfil
Re: Agenda en POO(recibo criticas)
« Respuesta #4 en: Martes 21 de Septiembre de 2010, 03:37 »
0
Ibito Te agradesco muchisimo tu comentario.,. tratare de trabajar mas el encapsulamiento y bueno practicar, leer y preguntar creo sera el camino.. otra cosa me sirvio mucho ese ejemplo de metodo sql que mostraste lo implemente ya que tengo una aplicacion con muchas consultas y creardo distintos objetos de la misma clase pero llamando siempre a ese metodo generando obiamente distintas consultas me ayuda a no repetir metodos y escribir codigo de mas :)  te lo agradesco nose si lo estare usando bien pero me sirve asi XD

ibito

  • Miembro HIPER activo
  • ****
  • Mensajes: 549
  • Nacionalidad: mx
  • Se mas de C++ que lo que se de ese CSS
    • Ver Perfil
    • http://www.ibquezada.com
Re: Agenda en POO(recibo criticas)
« Respuesta #5 en: Martes 21 de Septiembre de 2010, 08:22 »
0
Perfecto, que bueno que te sirvió, adelante con la programada  :D
______________________________________
www.hazjuegos.com Una comunidad dedicada al desarrollo de videojuegos.