main()メソッドは、手続き型プログラミングへのnい先祖返りであり、アプリケーションへのエントリポイントを提供します。それをカプセル化するためにさまざまなプログラミング言語で試みられますが、その性質上、これは難しくなります(パブリックで静的である必要がありますが、プログラム内の他のいかなるものからも呼び出してはなりません。これは非常に矛盾しています)。WPFは成功しました(WPFアプリケーションプロジェクトの奥深くからmain()を隠し、カスタム処理のための構成可能な「フック」を提供しました)。Java(Androidアプリの場合も同様)が、WinFormsおよび他のほとんどのタイプのアプリは依然としてmain()を処理します。
そのため、ほとんどの専門家は、main()関数のLOCをできるだけ低くする必要があると言っています。main()関数に1行あるアプローチが1つあります(少しやり過ぎだと思います)。
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()は、オブジェクト指向のイベント駆動型アプリケーションを「準備完了」状態にするために、できるだけ少なくする必要があります。