Setelah membaca jawaban nyamuk untuk Mengapa metode utama statis di Jawa dan C #, daripada konstruktor? Saya mengambil jawabannya dengan maksud bahwa tujuan kelas Java dengan metode utama statis adalah untuk define a program entry point
dan bahwa itu tidak dimaksudkan untuk menjadi program itu sendiri.
Mungkin ada cara yang lebih baik untuk melakukan ini, tetapi saya biasanya memiliki kelas dengan metode utama statis untuk melakukan sesuatu yang sederhana seperti ini:
public class MenuLauncher
{
public static void main(String[] args) {
Menu menu = new Menu();
menu.run();
}
}
Apakah kode di atas menjadi praktik terbaik untuk OOP di mana kelas dengan main statis tidak melakukan lebih dari meluncurkan atau memulai logika program yang terkandung dalam objek non-statis yang terpisah; setelah semua main adalah statis sehingga bukankah kelas MenuLauncher itu sendiri akan sangat terbatas? Karena main adalah titik awal saya tidak melihat tujuan lain untuk kelas selain sebagai titik masuk.
Apakah ada konvensi penamaan Java yang biasa digunakan untuk kelas yang berisi metode utama dan melayani tujuan sebagai titik masuk program?
sumber
Program
.Main
dan umumnya panjangnya kurang dari 20 baris (dengan sedikit pengecualian tangkapan dan parameter parsing).Jawaban:
Tidak, tidak ada konvensi penamaan yang banyak digunakan untuk ini. Contoh saya lihat adalah
Main
,Application
,XLauncher
atauX
, di mana X adalah nama proyek / aplikasi.Dan ya, saya pikir itu baik untuk kelas ini hanya mengandung logika / kode minimum yang diperlukan untuk mengatur aplikasi dan memulainya. Tapi saya yakin ada banyak Object Dewa dan Balls of Mud besar di luar sana dengan
main
metode yang ditempelkan ke multi ribu baris monstrositas.sumber
Mereka disebut Main-Class , apakah mereka disebut Main atau tidak dan mereka melakukan sedikit atau banyak.
Mereka biasanya memiliki logika yang diperlukan untuk memulai program ini.
Di aplikasi CLI mereka biasanya memvalidasi parameter.
Di Desktop app mereka membuka menu utama seperti Anda atau membuka jendela utama.
Jika Anda membaca file yang nyata dalam file jar, Anda akan menemukan mereka disebut itu.
sumber