2009-12-31 12 views
12

En PHP, ¿hay algún impacto en el rendimiento al usar una clase larga con muchas funciones en ella? ¿O es aconsejable utilizar muchas clases pequeñas y llamarlas por separado cuando sea necesario?¿Una clase larga o muchas clases más cortas?

Soy un novato en OOPS y por favor ignore cualquier tontería en la pregunta. Gracias.

+2

+1 por buena pregunta :) – Sarfraz

+0

Esto será útil http://stackoverflow.com/questions/1959295/i-cant-create-a-clear-picture-of-implementing-oops-concepts-though- entiendo –

+0

Creo que debería haber un voto en toda la escuela y ver qué porcentaje se nos ocurre. y no solo eso sino que calcularía las estadísticas antes de informar algo. Bueno, esa es solo mi perspectiva (: –

Respuesta

9

Es aconsejable no pensar en el rendimiento antes de tener el código. Desde el punto de vista de facilidad de mantenimiento y comprensibilidad, por supuesto, las clases más pequeñas, con métodos más pequeños son superiores. (Consulte The Single Responsibility Principle)

Cuando necesite optimizar, realmente puede ensamblar (automáticamente) todo su código en un único archivo grande, y ahorrar algo de tiempo en include-s.

+0

¡Gracias por las palabras! – Nirmal

5

En primer lugar, piense en el diseño limpio OOP.

Las clases muy largas con muchos métodos y propiedades son muy difíciles de entender.

Un conjunto de clases bien diseñadas con nombres de clase significativos, nombres de métodos y nombres de variables son muy fáciles de entender, especialmente en lo que respecta al período de mantenimiento.

0

Puede y debe poner las cosas en la misma clase, siempre y cuando estén directamente relacionadas con la lógica de la clase que está creando. El tamaño de la clase no significa mucho si sigues los conceptos de POO.

0

Personalmente, preferiría dividir las clases en archivos más pequeños en función de lo que son. Si se trata de objetos comerciales, entonces sería una preferencia tener 'customer.class.php' 'account.class.php', etc.

En la mayoría de los proyectos en los que he trabajado ha sido así, luego un archivo 'lib' o 'common' más grande que incluye muchas funciones diferentes que se usan en todas partes.

2

En general, las personas tienden a hacer clases que son demasiado grandes y complejas, esto se debe a que a menudo es difícil ver dónde se encuentran los límites de cohesión. Entonces, cuando comienzas y te sientes un poco inseguro, es mejor equivocarse al hacerlos demasiado pequeños: siempre puedes unir clases más pequeñas en una más grande ... a menudo es mucho más difícil refactorizar una clase grande en varias pequeñas unos.

0

Para el registro, el tamaño no es la parte más importante a considerar en una clase. Lo que es clave para una clase son las dependencias de las clases.

Por ejemplo, una clase que depende de la base de datos se debe separar en una clase especial, como una clase Repository/Dao/Dal/Persistence.

Cuestiones relacionadas