Después de leer la respuesta de gnat a ¿Por qué un método principal estático en Java y C #, en lugar de un constructor? Supongo que su respuesta significa que el propósito de una clase Java con un método principal estático es define a program entry point
y que no está destinado a ser el programa en sí.
Puede haber una mejor manera de hacer esto, pero generalmente tengo la clase con el método principal estático para hacer algo simple como esto:
public class MenuLauncher
{
public static void main(String[] args) {
Menu menu = new Menu();
menu.run();
}
}
¿Sería el código anterior la mejor práctica para OOP donde la clase con main estático no hace mucho más que iniciar o iniciar la lógica del programa contenida dentro de un objeto no estático separado; después de todo, main es estático, ¿no sería la clase MenuLauncher en sí muy limitada? Como main es un punto de partida, no veo otro propósito para la clase que no sea un punto de entrada.
¿Existe una convención de nomenclatura de Java comúnmente utilizada para las clases que contienen un método principal y tienen el propósito de ser un punto de entrada al programa?
fuente
Program
.Main
y generalmente tiene menos de 20 líneas de largo (con un poco de captura de excepciones y análisis de parámetros).Respuestas:
No, no hay convenciones de nomenclatura ampliamente utilizadas para esto. Los ejemplos que he visto son
Main
,Application
,XLauncher
oX
, donde X es el nombre del proyecto / aplicación.Y sí, creo que es bueno que esta clase contenga solo la lógica / código mínimo necesario para configurar la aplicación e iniciarla. Pero estoy seguro de que hay muchos God Objects y Big Balls of Mud con un
main
método agregado a una monstruosidad de miles de líneas.fuente
Se les llama la clase principal , se llamen o no principales y hagan o no poco o mucho.
Suelen tener la lógica necesaria para iniciar el programa.
En las aplicaciones CLI, generalmente validan los parámetros.
En la aplicación de escritorio, abren el menú principal como el suyo o abren la ventana principal.
Si lee los archivos MANIFEST en un archivo jar, encontrará que se llaman así.
fuente