main () 메서드는 절차 적 프로그래밍에 대한 못생긴 후퇴로 응용 프로그램에 진입 점을 제공합니다. 이를 캡슐화하기 위해 다양한 프로그래밍 언어로 시도되지만, 그 특성상이를 어렵게합니다 (공개적이고 정적으로 이루어져야하지만 프로그램의 다른 어떤 것에서도 호출되지 않아야 함). Java (Android 앱과 유사한 방식)와 마찬가지로 WPF 응용 프로그램 프로젝트 창에서 main ()을 숨기고 구성 가능한 "후크"를 제공하여 WPF가 성공했지만 WinForms 및 대부분의 다른 유형 응용 프로그램은 여전히 main ()을 처리합니다.
따라서 대부분의 전문가들은 main () 함수의 LOC가 가능한 낮아야한다고 말합니다. main () 함수에 한 줄이있는 한 가지 접근 방식이 있습니다 (약간 과도하다고 생각합니다).
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()
}
}
이것은 약간이지만 기본 원칙에 동의합니다. main ()은 객체 지향의 이벤트 중심 응용 프로그램을 "준비"상태로 만들려면 가능한 한 작아야합니다.