Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Organización de clases

Estas en el tema de Organización de clases en el foro de PHP en Foros del Web. Saludos, debido a la complejidad del código que estoy trabajando estuve agrupando todo el código en una clase y todos los métodos dentro de ella. ...
  #1 (permalink)  
Antiguo 09/02/2013, 10:15
Avatar de Fylux  
Fecha de Ingreso: junio-2012
Mensajes: 141
Antigüedad: 11 años, 9 meses
Puntos: 9
Pregunta Organización de clases

Saludos, debido a la complejidad del código que estoy trabajando estuve agrupando todo el código en una clase y todos los métodos dentro de ella. Y no lo he separado en varias clases porque: Hay muchos métodos que son independientes, el problema es que la mayoría de los métodos son llamados en una especie de 'función central' en la cual se llama a la mayoría de estos. El problema es que si separase el código en por ejemplo 4 clases tendría problemas porque la función central llamaría a métodos de tal vez 3 clases distintas. Y los atributos que son muy importantes también tendría que declararlos en cada clase.

¿Cómo podría hacer para poder separar la clase en varias pero que siga funcionando esta función central?

Saludos.

PD: Cualquier cosa que no entiendan pregúntenmela.
__________________
Si todos escribiéramos sin faltas de ortografía, el mundo sería un lugar mejor.
  #2 (permalink)  
Antiguo 09/02/2013, 10:26
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Organización de clases

No estoy seguro de haber entendido bien tu pregunta, pero con un simple include incluyes el archivo de la clase, instancias la misma y listo.

O simplemente le pasas la clase que necesitas en el metodo por parametro
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 09/02/2013, 10:33
Avatar de Fylux  
Fecha de Ingreso: junio-2012
Mensajes: 141
Antigüedad: 11 años, 9 meses
Puntos: 9
Respuesta: Organización de clases

Cita:
Iniciado por carlos_belisario Ver Mensaje
No estoy seguro de haber entendido bien tu pregunta, pero con un simple include incluyes el archivo de la clase, instancias la misma y listo.

O simplemente le pasas la clase que necesitas en el metodo por parametro
Pero el objetivo además de organizarlo todo más es que sea más eficiente y no tener que cargar una clase de 3000 líneas de código.

¿Sería más eficiente hacer instancias?
¿Y que hay de los atributos?

Saludos.
__________________
Si todos escribiéramos sin faltas de ortografía, el mundo sería un lugar mejor.
  #4 (permalink)  
Antiguo 09/02/2013, 10:46
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Organización de clases

es que si tienes una sola clase de mas de 3000 lineas de codigo algo esta mal en el diseno de tu software, las clases son entidades que ejecutan acciones, deben de tener responsabilidades, de lo contrario lo que estas haciendo es una programacion estructurada dentro de una clase y eso no es OOP.

En teoria imagino que estas haciendo un metodo main() al estilo java que hace todo lo de tu funcion?? ahora toda la logica esta en esta clase sin separacion de responsabilidades ella se encarga de todo?? (es lo que entendi corrigeme si me equivoco), puedes al estilo java dentro del main instanciar las clases que necesites, o incluso ver si como es un container haces un paso de dependencia para que no instancies clases que no necesites.

Los atributos son parte de la clase con ellos se trabaja, pero como te digo cada clase debe de tener su responsabilidad y por medio de esta sus metodos y atributos correspondientes, imagina una clase MySql (llamemosla asi para gestionar las conexiones con mysql) que tenga un atributo hml y un metodo imprimierHtml estaria bien?? es parte de sus responsabilidades?? este tipo de cosas son las que debes analizar
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 09/02/2013, 10:55
Avatar de Fylux  
Fecha de Ingreso: junio-2012
Mensajes: 141
Antigüedad: 11 años, 9 meses
Puntos: 9
Respuesta: Organización de clases

Ok, gracias.
Pero he de decir que los métodos tienen todos funciones diferentes, lo que pasa es que el objetivo del código requiere que cada vez que actualices la página se ejecuten un montón de métodos y consultas que dan resultados y otros métodos tienen en cuenta estos resultados y tal. Y para coordinar estos métodos uso el supuesto main().

Entonces haré lo de instanciar las clases por temas de organización.

Saludos.
__________________
Si todos escribiéramos sin faltas de ortografía, el mundo sería un lugar mejor.
  #6 (permalink)  
Antiguo 09/02/2013, 11:03
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Organización de clases

Mas que por tema de organizacion deberias de tomarlo en cuenta por diseno de software, te aseguro que haciendo un buen diseno se te hara mas facil al momento de hacerle mantenimiento a la app, de la manera que creo que lo tienes te aseguro que hacer mantenimiento a ese codigo el que le toque te va a recordad con mucho pero mucho odio carino saludos

P.D: ando en una pc vieja no se donde carrizo encuentro la enie ni los acentos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #7 (permalink)  
Antiguo 09/02/2013, 11:06
Avatar de Fylux  
Fecha de Ingreso: junio-2012
Mensajes: 141
Antigüedad: 11 años, 9 meses
Puntos: 9
Respuesta: Organización de clases

Sí, sin duda es uno de mis principales objetivos. Porque tengo que pensar en hacerle hasta diagramas de flujo de lo difícil que es saber como funciona en su totalidad.

Bueno, pues gracias y lo separaré todo en unas cuantas clases y las instanciaré donde deba.

Gracias por las molestias y saludos.
__________________
Si todos escribiéramos sin faltas de ortografía, el mundo sería un lugar mejor.
  #8 (permalink)  
Antiguo 09/02/2013, 13:37
Avatar de Fylux  
Fecha de Ingreso: junio-2012
Mensajes: 141
Antigüedad: 11 años, 9 meses
Puntos: 9
Respuesta: Organización de clases

Una duda que me acaba de surgir.
¿Las instancias de las clases debería ponerlas como atributos en el contructor para que sea más cómo o la instancio cada vez que la necesite?

Saludos.
__________________
Si todos escribiéramos sin faltas de ortografía, el mundo sería un lugar mejor.
  #9 (permalink)  
Antiguo 09/02/2013, 15:13
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Organización de clases

todo depende de la circunstancia puedes pasarla via constructor si lo deseas o puedes trabajar con setter para pasar la instancia de la clase a un attributo cuando la necesites y tener este disponible o incluso pasar otro objeto, pero es cuestion de ver bien lo que necesitas tu en el momento
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Etiquetas: clases
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:16.