trabajo en equipo

el trabajo se va a realizar entre 4 personas 100 programas, se pretende trabajar repartir todo el desarrollo en jinternalframe y el programa prinpicipal con su menu hacer el llamado de cada programa, la pregunta es es, es buna opcion manejarlo asi??? hay alternativas mejores y cuales me recomienda para que el trabaja se haga en forma independiente y luego integrar.

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Aplicaciones

Aplicaciones independientes?

Puedes hacerlo así y al final en vez de crear procesos independientes llamar al método main de cada clase:

...
SomeClass.main();
...

Y no tener que ejecutar muchos ProcessBuilder.start()

La otra opción es que las cuatro personas trabajen en un programa a la vez, parece más difícil porque están todos en lo mismo, pero al menos te aseguras que el programa tenga consistencia.

En una ocasión migrando un sistema, nos dieron unas pantallas de COBOL. Nos repartimos 9 pantallas entre 9 programadores. Nos dieron los "recursos" ( íconos, tipos de letra, colores y guías) y nos dejaron libres 2 semanas. Estaba padre porque estábamos medio compitiendo para ver quién acababa primero su pantalla.

Al final integramos llamando como dices, desde el menú cada opción y cuando vimos la aplicación completa.... pffffff horror... teniamos 9 mounstritos todos diferentes entre sí.

Lo que hubiera sido mejor era tener el diseño ( hecho por un diseñador por favor ) de la interfaz de usuario y luego soltarnoslo o bien trabajar primero en una pantalla y crear componentes reutilizables ( o al menos funciones para evitar estar repite y reptite - léase haciendo copy/paste - cosas comunes ) y después que todos están de acuerdo de como se debe de ver la aplicación los puedes dejar trabajar separadamente.

Imagen de chicowed

Este tema es muy interesante,

Este tema es muy interesante, porque trabajar en equipo en un desarrollo no creo que sea algo fácil, aparte si se quieren aplicar patrones de diseño, buenas practicas y todo eso.

Si alguien tiene experiencia en esto favor de comentarla para tomar en cuenta alguno de sus comentarios, seria bueno que alguien publicara un post en donde creara una pequeña aplicación aunque sencilla, pero que mostrara las bases de como organizar un proyecto implementando todo lo que mencione antes.
Gracias.

iniciando menu

tengo el menu armado dinamicamente con la base de datos y entre las opciones que me trae es el nombre del jar aplicativoJinternal1.jar, aplicativoJinternal2.jar como haria para cagar dicho jinternal cuando de click al menu

carga Jinternal

la carga de los jar del equipo de trabajo lo logre de la siguiente manera

 public static void cargador(MenuPrincipalUI menuPrincipalUI) {
 
      try {
              File jarFile = new File("C:\\AppCambiodeclave\\dist\\programaJinternal1.jar");
              URLClassLoader loader = new URLClassLoader(new URL[]{jarFile.toURI().toURL()});
              //Class.forName("gui.GuiPrincipal", true, loader);

             
        try {
           
     
             Object o=loader.loadClass("gui.GuiPrincipal").newInstance();

             if ( o instanceof Component ){
                  Component con= (Component)o;
                  menuPrincipalUI.getDesktopPane().add((Component)o,JLayeredPane.MODAL_LAYER);
                  con.show();
             }

quisiera saber si hay una alternativa mejor ya que con.show me parece deprecated.
si quiero pasar un argumento como lo haria???

Imagen de ezamudio

visible

show() está deprecado. Usa setVisible(true).

ok perfecto.

gracias trabaja muy bien, ahora tengo un problema y es que si lo llamo 10 veces se me abre 10 veces la misma ventana

???

No he podido lograr parsar argumentos a mis aplicativos los estoy cargarndo asi

    Object o=loader.loadClass("gui.GuiPrincipal").newInstance();
Imagen de ezamudio

newInstance

Según yo hay variantes de newInstance donde puedes pasar los argumentos que sean, y se pasan al constructor correspondiente de la clase que estás instanciando.

si

si fue tan sencillo como hacer

Object o= c.getConstructor(String.class,String.class, miClass.class).newInstance("param1","param2",param3);

con esto me funciona perfecto quisiera saber si la manera que las estoy cargando esta correcto y no se ponga pesada la aplicacion

Imagen de ezamudio

cache

Si vas a estar creando varias instancias de la misma clase, lo mejor sería que tuvieras un administrador de esas clases que cargas de jars externos. Así solamente cargas la clase si no está presente, una vez, y si ya está pues usas esa misma para crear más instancias.

??

un administrador de esas clases ?

Imagen de ezamudio

Un componente que administre la carga de clases para que se asegure de que cada clase sea cargada una sola vez, y no estar creando un nuevo classloader en cada invocación.