Después de ese momento de catarsi explico mis puntos sobre cómo hacer cambios radicales
Primero que nada olvídate de crear una dependencia al sistema operativo no todos amamos la línea de comandos para todo(linuxeros) si estas obligado a tener una dependencia con algo ponla dentro de un archivo properties no el código que no se puede descompilar
Patrón adapter
Utiliza el patrón adapter cuando no quieras depender de algo digamos que quieres loguearte si quieres te puedes loguear contra un servidor ldp contra una base de datos relacional contra una base de datos no relacional usando el api de logueo de google o yo que se pero puedes usar la abstracción (pensar no hace daño) hacer algo como esto
public class AutentificacionLdap implements Auntenticable {
@Override
public boolean estaAutorisado
(String usuario,
String contraseña
) { //a qui pon el codigo con el que te autenticas
}
}
public class Main {
public static void main
(String arg
[]) { Auntenticable auntenticable = new AutenticadorLdap();
FrmLogueo frmLogueo = new FrmLogueo(auntenticable);
//configura y muestra ventana
}
}
esoge bien los nombres
ahora eres capaz de hacer un cambio radical y cambiar de cualquier tipo de autentificación en vez de poner autenticadorLdap puedes poner cualquier tipo de autenticable como AutenticadorGoogle nota como e nombrado todo puedo hablar de las clases sin que suene raro eso y los nombre son auto explicativos obvios y lógicos es fácil de entender eso es porque la interfaz es adjetivo las clases son sustantivo nota otra ventaja ya no tengo que levantar el servidor en la nuve para correr el programa si fuera necesario puedo ponerle un autenticadle que siempre diga que si
no uses nombre complicados demasiado largos demasiado abstractos con abreviaturas o con tecnicismo pon los nombre lo mas obvios posiblesEl método main no muerde
Crea toda la aplicación en único lugar centralizado el método main si es posible crea una clase que su nombre comience con aplicación como por ejemplo ApliacionVentasPlazaVea
public static void main
(String arg
[]) { Auntenticable auntenticable = new AutenticadorLdap();
FuenteDeDatos fuenteDatos =new FuenteDeDatosJPA();
MensajeriDeErrores mensajeriDeErrores=new MensajeriaPorCorreo()
FuenteDeDatosTarjeta fuenteDeDatosTarjeta=new FuenteDatosTarjetaWebService()
ProcesadorDeTarjetasDeCredito= new ProcesadorDeTarjetasDeCredito(fuenteDeDatosTarjeta);
ForMularioPrincipal =new ForMularioPrincipal(auntenticable,mensajeriDeErrores,ProcesadorDeTarjetasDeCredito)
ApliacionDeVentas apliacionDeVentas =new ApliacionDeVentas(ForMularioPrincipal ,arg);
apliacionDeVentas.lansar();
}
Eso si que es la panacea ahora puedo modificar la aplicación a mi gusto solo con ver el main ya sé que hace la aplicación y es mas ya se como lo hace
Programa orientado a objetos si ya se que me van a decir que es cuestión de fe pero es que tienes muchas ventajas
Donde estará el código que hace el cálculo de una factura pues en la clase factura donde estar el código que me calcula en el subtotal de una factura pues en el método subtotal de la clase factura donde estar el método que me diga cuánto vale una línea de un detalle una factura pues el método subtotal de la clase detalle factura si
•"$%•$%•$ por el amor de dios pon todo en el lugar mas obvio con el nombre mas obvio Crea tu propio manejo de errores pues si veo que hay un error pues envés de ver algo como un nullpointerexception pues veo algo como
servidorNoEncontradoEnUrlYPuerto
BaseDeDatosNoEncontrada
InposibleSacarItensDelCarritoVacio
ErrorPorFaltaDeFondos
Es tan fácil
if(detallesCarrito.count()==0){
throw new ExcepcionCarritoSinLineas();
}
detallesCarrito.remove(detalleCarrito);
Estoy harto de ver a gente que deja que el ide dicte su vida y pone cosas como
try {
cossasPeligrosas();
}