Consulta de Eficiencia en POO PHP

Iniciado por Skeletron, 11 Agosto 2010, 06:24 AM

0 Miembros y 1 Visitante están viendo este tema.

Skeletron

Hola gente.
hace mucho que no me paso por aca.

Les vengo con una pregunta:

Resulta que estoy haciendo un juego, de esas de batalla de Browser y demas.
Tengo una clase llamada: "Player". resulta que, en ella, hay como 100 metodos.. entre gets y demas "functions" para diferetnes cosas.
La cuestion es que, es un larguisimo codigo, que habrá momentos en que solo utilizaré 1 o 2 metodos y con suerte.
Me pregunto si, tendría que crear diferentes "CLASS" para ocupar menos espacio en el CLASS del objeto...

Alguna recomendacion?

[u]nsigned

#1
Seria lo mas logico, que re-escribas tu codigo. Tenes en cuenta que al momento de instanciar un objeto, se carga en memoria todo el codigo correspondiente a su clase. Y por otro lado si tenes una clase con unos 100 metodos, pero en determinados momentos solo usas un par de ellos, eso quiere decir que no estas usando bien el paradigma POO  ;D

Otra cosa que podes hacer es hacer tu code mas flexible usando include, asi podes incluir ciertos metodos solo cuando son necesarios, es lo que yo hago. Por ejemplo si estas en un punto en elque solo vas a actualizar la BBDD de personaje, solo usa las funiones miembros para eso. Pero lo mas recomendable es que te replanties las clases y su implementacion  :xD

Saludos

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

Skeletron

se carga muchas veces?
no creo... se debe cargar solo 1 vez, y lo que guarda muchas veces son las variables de cada usuario..

O sea.. si todos los usuarios tiene 1 objeto, de la case: PLAYER, el archivo PLAYER se carga 1 sola vez, y lo que se guardan, son los conjuntos de variables segun el usuario (por el PHPIDSESION)

SUPONGO

MinusFour

Cita de: Skeletron en 11 Agosto 2010, 23:41 PM
se carga muchas veces?
no creo... se debe cargar solo 1 vez, y lo que guarda muchas veces son las variables de cada usuario..

O sea.. si todos los usuarios tiene 1 objeto, de la case: PLAYER, el archivo PLAYER se carga 1 sola vez, y lo que se guardan, son los conjuntos de variables segun el usuario (por el PHPIDSESION)

SUPONGO

Creo que es lo que quiso decir. Estas cargando incesariamente 100 metodos por cada objeto que haces.

Skeletron

Pero lo que yo digo, es cargar 100 metodos no POR CADA OBJETO, sino 1 vez por mas que sean 10000 objetos

Porque digo ésto? porque los meotodos en un objeto son estaticos.. lo unico que cambia son los valores de las variables.
Pero si nos ponemos a pensar que (la ***** de) PHP re-procesa por cada ejecucion el codigo, es imposible que haga eso.