[Opinión / Retroalimentación] ¿Clases Anónimas o Separadas?

Iniciado por RyogiShiki, 27 Noviembre 2011, 04:15 AM

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

RyogiShiki

Hola que tal, Bueno pues abro este tema con propósitos meramente de retroalimentación colectiva y posturas en cuanto al tema de Clases Anónimas vs Clases / Implementación local vs Implementación externa.

Y es que por ejemplo cuando se crea un Thread o cosa por el estilo se tiende a crear el Runnable de manera anónima envés de tener una clase separada para ello. En el otro caso, cundo por ejemplo se implementa un ActionListener este se suele poner en la misma clase donde se encuentran sus componentes registrados. envés de hacer una nueva clase y registrar el componente a dicha clase.

Por mi parte prefiero evitar el uso de clases anónimas, así esto suponga una cantidad de trabajo extra, pero mi decisión falla a favor de la organización del código, la seguidilla al patrón MVC, además de facilitar la programación por capas de una manera extraordinaria, pienso también que gana en escalabilidad y mantenimiento y hasta elegancia. Misma opinión va para las implementaciones de Listeners separadas de la clase de sus componentes que las registra, lo que se pierde en este aspecto es la facilidad con la que se puede acceder a dichos componentes si ser redundantes en el código, en cambio la clase separada he de pasar todos los componentes que quiero tocar.

Y en Definitiva ¿Cuál es su estilo en estos aspectos? ¿Que prefieren y porque?

Espero sus respuestas.

Saludos


sapito169

clases que implementan listener jamas por que expones funcionalidad interna es decir muestras lo que no debes a través de métodos publico que potencial mente serán llamados donde no corresponde

clases externas que implementen listener yo pienso que no es una buen idea por que lo que deberia ser externo y aparte es la acción que realiza el usuario que sea reutilizable por ejemplo si hariamos un sistema de edición de texto tendríamos crearDocumento importarDeWord importarDeXML confirmarCerrar que serian reutilisados desde los formularios así si presionas la x de la ventana ,si presionas escape  o presionas el botón cerrar rutilases confirmarCerrar que te abriria una ventana de confirmación pero este patrón introduciría a una explosión de clases que general mente no serian reutilisadas aparte de generar un poco de boilepart(el cual no es tan innecesario) así que creo que tendría mas sentido solo usarlo después de que exista la necesidad no desde el principio  otro razon para no usar este patrón extensivamente es que esos comportamientos ya estarían dentro de las clases servicios(ServicioImpresion,ServicioExportacion) y también en las de dominio


la otra opción es usar clases anónima internas son horribles gigantescas ensucian la pureza y la belleza de mi código y agrega muchas lineas de indentacion a mi clase aparte de que me obligan a que tengas mas de 300 lineas lo cual me produce un profundo vació en mi corazon y me da una sensacion de fracaso y depresión  :-[

aunque parezca raro yo prefiero la opción de la clase anónima interna aunque mi corazon sufra  :-[ debido a que sus desventajas son miles de veces menores que las desventajas de las otras 2 opciones

si soy un tonto perfeccionista y obsesionado con el código






klaine

Pienso que una clase anónima no necesariamente se involucra con la gui, y tampoko necesariamente el codigo se desorganizará that is, my humble opinion, me expongo a un flame  ;D, saludos