Convenzioni di denominazione per le classi Java che hanno un metodo principale statico?

20

Dopo aver letto la risposta di gnat a Perché un metodo main statico in Java e C #, piuttosto che un costruttore? Prendo la sua risposta per dire che lo scopo di una classe Java con un metodo main statico è a define a program entry point e che non è pensato per essere il programma stesso.

Potrebbe esserci un modo migliore per farlo, ma di solito ho la classe con il metodo principale statico per fare qualcosa di semplice come questo:

public class MenuLauncher
{
    public static void main(String[] args) {
        Menu menu = new Menu();
        menu.run();
    }
}

Il codice sopra riportato sarebbe la migliore pratica per OOP in cui la classe con main statico non fa molto di più che avviare o avviare la logica del programma contenuta in un oggetto non statico separato; dopo tutto la parte principale è statica, quindi la classe MenuLauncher non sarebbe molto limitata? Dato che main è un punto di partenza, non vedo nessun altro scopo per la classe se non quello di essere un punto di ingresso.

Esiste una convenzione di denominazione Java comunemente utilizzata per le classi che contengono un metodo principale e hanno lo scopo di essere un punto di ingresso del programma?

    
posta Korey Hinton 12.08.2013 - 23:36
fonte

2 risposte

17

No, non ci sono convenzioni di denominazione ampiamente utilizzate per questo. Gli esempi che ho visto sono Main , Application , XLauncher o X , dove X è il nome del progetto / applicazione.

E sì, penso che sia positivo per questa classe contenere solo la logica / codice minimo necessari per configurare l'applicazione e avviarla. Ma sono sicuro che ci sono molti God Objects e Big Balls of Mud là fuori con un metodo main appiccicato su una mostruosità multi-linea.

    
risposta data 13.08.2013 - 09:15
fonte
8

Sono chiamati Main-Class , indipendentemente dal fatto che siano chiamati Main o meno o meno.

Di solito hanno la logica necessaria per avviare il programma.

Nelle app CLI solitamente convalidano i parametri.

Nell'app Desktop aprono il menu principale come il tuo o aprono la finestra principale.

Se leggi i file MANIFEST in un file jar, scoprirai che sono chiamati così.

Manifest-Version: 1.0
Created-By: xxx
Built-By: xxx
Build-Jdk: 1.6.0_04
Main-Class: myPackage.MenuLauncher
    
risposta data 12.08.2013 - 23:57
fonte

Leggi altre domande sui tag