J'ai eu une longue discussion avec un ami sur l'utilisation correcte et judicieuse de la méthode main en Java. En gros, nous avons une classe comme celle-ci :
public class AnImporter implements Runnable {
// some methods, attributes, etc.
}
Mais où placer la méthode principale ? Je considère que c'est une bonne pratique de "garder le code là où il doit être", transformant ainsi le code ci-dessus en
public class AnImporter implements Runnable {
public static void main(String [] args){
// Startup code for Importer App here
}
// some methods, attributes, etc.
}
Alors que mon ami soutient que "le code de démarrage n'a rien à voir avec l'application elle-même", et qu'il devrait donc être placé dans une autre classe, comme ceci :
public class AnImporter implements Runnable {
// some methods, attributes, etc.
}
public class AnApplication {
// Nothing here
public static void main(String [] args){
AnImporter a = new AnImporter();
// Startup code here
}
// Nothing here
}
Bien que nous ayons discuté de la question pendant un certain temps, nous n'avons pas réussi à déterminer quelle était la meilleure approche pour Java. Quelle est votre opinion sur ce sujet ? Où et surtout pourquoi placez-vous votre méthode principale là où vous l'avez placée ?