Ver Mensaje Individual
  #27 (permalink)  
Antiguo 31/10/2008, 11:27
Avatar de Lord Kazuky
Lord Kazuky
 
Fecha de Ingreso: junio-2006
Ubicación: 7F.00.00.01
Mensajes: 123
Antigüedad: 17 años, 10 meses
Puntos: 5
Respuesta: Duda sobre teoria de clases

Bueno yo sigo este hilo también para ver si alguien nos puede dar un poco más de luz sobre este tema que domino muy poco.

Lo que creo hasta ahora
Una ventaja es que tienes el total control sobre esos objetos. Puede ser asi por motivos de seguridad, una forma de ocultar y proteger la información y los procedimientos. Controlas las instancias. También de cierto modo se controla la dependencia, porque cambios de la clase privada solo afectaran a la otra donde se encuentre.

Desventaja, La clase privada no se podrá reutilizar en otros contextos distintos a lo que le ofrece la clase en la que esta contenida. La funcionalidad de los objetos que se instancien estará limitada y condicionada. Solo podrán utilizarse dentro de la otra clase.

Además estas obligando a que el funcionamiento del conjunto se siga en determinado orden, eso puede ser bueno o malo (jeje como todo ).

Con el ejemplo que pusiste el ultimo el del sistema de plantillas. Al restringir la creación y uso de algunos objetos pues simplemente hace que tu sistema solo se pueda usar de una forma y que sea la que tu definiste. Son necesarias esas restricciones ?. No estas complicando algo que debería ser fácil de utilizar? Porque no dejas que los programadores definan la manera como quieran usar ese sistema o librería, porque finalmente tu estas pensando es en otras personas ajenas a ti, si tu los restringes y los obligas algunos puede que se rebelen (jaja ) y otros puede que si te hagan caso.

Esas preguntas ya igual supongo y espero que ya te las hayas hecho. Pero bueno quedan aqui por si alguien (como yo) se las quiere hacer en otro momento.

Hay que tener un buen motivo, y buenos argumentos para hacer las cosas. Digamos a veces uno mismo se puede estar complicando, al agregar a un sistema un montón de restricciones que al final no van a aportar nada bueno, sino simplemente volver mas lento, complicado, ofuscado los procedimientos. Este espacio de discusión y debate es para que cada cual exponga sus motivos y ver si le sirven y convencen a otros más, y en momentos de duda recurrir a ellos para tomar una decisión.

Para terminar creo que el uso de clases privadas si bien es una alternativa, no se debe abusar de su uso y dejar todo un sistema completo lleno de clases privadas. Y de esa forma supongo que lo opuesto tampoco debe ser del todo bueno (sigue la discusión )

Alejándonos de la parte "filosófica" del asunto y entrando en la parte técnica, sencillamente digo que confío en el código de GatorV
__________________
Saludos.
"Cualquier tonto puede escribir código que un computador entiende. Los buenos programadores escriben código que los humanos pueden entender. ;)"