El método main () es un retroceso feo a la programación de procedimientos, que proporciona el punto de entrada a la aplicación. Se hacen intentos en varios lenguajes de programación para encapsularlo, pero su propia naturaleza lo hace difícil (tiene que ser público y estático, pero NUNCA debe llamarse desde otra parte del programa, lo cual es muy contradictorio). WPF tuvo éxito (al ocultar main () de usted profundamente en las entrañas del proyecto de la aplicación WPF y proporcionar "ganchos" configurables para el procesamiento personalizado), al igual que Java (de manera similar para las aplicaciones de Android), pero WinForms y la mayoría de los otros tipos de las aplicaciones aún te hacen lidiar con main ().
Entonces, la mayoría de los expertos dicen que el LOC de la función main () debería ser lo más bajo posible. Hay un enfoque (que creo que es un poco exagerado) en el que la función main () tiene una línea:
public class Program
{
private Program(string[] args)
{
//parse args and perform basic program setup
}
//Reduce the ugliness to the absolute minimum
public static void main(string[] args)
{
new Program(args).Run();
}
private void Run()
{
//kick off the driving O-O code for the app; i.e. Application.Run()
}
}
Esto es un poco demasiado, pero estoy de acuerdo con el principio básico; main () debe hacer lo menos posible para que su aplicación orientada a objetos y orientada a eventos esté en un estado "listo".