Ver Mensaje Individual
  #22 (permalink)  
Antiguo 29/10/2008, 12:13
Keysher
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 6 meses
Puntos: 17
Respuesta: Duda sobre teoria de clases

Ya, tienes razón. por eso dije que igual el ejemplo de las ruedas y el coche no era el más adecuado en éste caso.

Y está claro que todo sistema es más escalable con clases individuales. Pero, como bien dices, depende del diseño del caso conreto. También creo que hay puntos en los que se lleva a un extremo ridiculo la creación de clases.

Para plantearlo más claramente, lo que estaba haciendo era un "sistema" que me genera una página HTML. Para ello tenía la propia clase que contendría todo el HTML (HTMLDocument), una que gestionaría los estilos (y cuando me refiero a estilos no se limita a un CSS), y otra que, dependería del estilo y serían las diferentes plantillas (templates) que tiene un estilo concreto.

Es un sistema muy simple, al final será cargar plantillas (con unas determinadas variables) y armar código HTML.

Yo creo que en un sistema así la clase HTMLDocument debería tener control sobre todo, ya que el único objetivo de esa clase es crear el Documento, no veo muy útil manejar un estilo, o una plantilla de forma independiente. La plantilla siempre tendrá que estar ligada a un estilo (de hecho es el propio estilo quien especifica las plantillas que le pertenecen). Y el estilo irá en un documento HTML.

Estoy totalmente de acuerdo en que hay que intentar hacerlo lo más escalable y flexible posible, pero en éste caso en particular eso terminaría en la clase HTMLDocument, dentro de ella se puede extender todo lo que se desee en un futuro, pero si intenta abarcar más de lo que su diseño le marcó en un principio, quizás tengamos que replantear el sistema.

Como todo, es una forma de ver las cosas. Yo no creo que esté limitando su expansión, sino el objetivo final del sistema. Lo veo como un paquete, todo junto. Ahora, si alguien cree que sólo necesita la clase Estilo, que se la lleve sólo esa y la implemente como quiera, ¿para qué va a necesitar el resto?

Aunque esa clase en concreto tiene total dependencia de la clase Template, ya que el estilo por si mismo no hace nada, sólo selecciona plantillas y le asigna variables. Es decir, prepara las plantillas, luego se las pasa a la clase HTMLDocument, que tomará esas plantillas + los diferentes ficheros que sean necesarios (css, js, etc....) y si hubiese más estilos, los cogerá también. Armará las cabeceras HTML, le meterá el body y ya tendremos una página HTML válida, para mostrarla, guardarla en un archivo .html, enviarla por correo, guardarla en una BDD o lo que queramos hacer con ella.

Y con respecto a las discusiones, si son en un tono cordial, con argumentos y aportaciones, siempre son bienvenidas. Nunca están demaś el resto de puntos de vista, se aprenderá mucho con ello.