簡體   English   中英

如何將Java的主要功能融入您的設計中?

[英]How do you incorporate Java's main function into your design?

你實際上可以跳過這第一部分,因為它會讓人感到困惑,但我會把它放在這里,因為我想知道是否有其他人有同感。 我是CS本科生,已經使用Java 3年了,我仍然覺得很難理解如何將Main功能包含在我的設計中。 將它自己放在一個類中是錯誤的,但將它插入另一個類文件也感覺不對。 我認為后者是這樣的,因為它不適合同類的其他人使它不相干。 例如,我不能只在我的DocumentReader對象上粘貼一個main函數。 它與對象無關。 另一方面,我不能只創建一個只有一個main函數的Main類,因為在面向對象的編程中,你應該根據對象來思考,有效地創建一個微型世界。 對於那個圍繞單個物體的微型世界來說,它只是存在而只是存在。 它不是故事中的敘述者和角色,因為它同時沒有任何作用。 我更喜歡C的主要功能,它與所有東西分開。 它使故事的敘述與彼此相互作用的人物分開。

我想知道專業人員如何將main方法與其余代碼混合使用。 如何使其與其他設計相適應。 而且,它們通常是長還是短?

我將main()函數保存在一個名為my project的類中。 使用命令行啟動應用程序時,使用此鍵入:

java com.domain.project.ApplicationName

在我看來,有一個簡單的Launcher名稱而不是:

java com.domain.project.AClassWhichDoesntLookLikeAMainClass

或者(太)經典

java com.domain.project.Launcher

但是對於這個類來說不要太費心,它可能永遠不會被這樣的最終用戶執行。 腳本或其他可執行文件將在大多數時間啟動它。

另外,你的main()方法會變得很重,特別是如果你真的使用main args來獲得更多的CLI選項。 也許它值得擁有自己的階級。

好吧,我有時想創建一個*Application類並將它放在那里。 對於DocumentReader,我有一個DocumentReaderApplication ,我將放置main函數,也可以處理任何啟動選項/命令行參數。 如果它是GUI應用程序, *Application類將啟動主窗口。 畢竟,該計划的切入點必須在某個地方,對吧?

具有main方法的類充當入口點。 因此,將所有內容放在該類中是一個好主意,這是特定於入口點的。 委派其余的。

Hardcore OOP的人可能不喜歡這個,但我只在我的根項目包中有一個名為Main的類,它包含main方法。

我的想法是你的程序需要從某個地方開始,但把它放在另一個類中只會令人困惑。 我將Main()視為一個特殊情況,值得擁有自己的類。 除了本課程中的設置信息,我沒有其他任何內容。 這清楚地表明這是我整個程序的起點(有時是結束點)。

主要方法僅在您自己啟動獨立應用程序時使用。 對於大型應用而言,世界正逐漸遠離它,因為它們變得如此之大,因此您需要進行模塊化。

常見的方法是針對Java EE的WAR / EAR和OSGi包。

我從事Java Web開發,並且已經有多年了。

我從來沒有專業地輸入“public static void main”這幾個字。

在觸發單元測試和其他本地任務的ant任務之間,然后將WAR存檔部署到服務器,主方法不屬於Web工作的范圍。

在main()方法中保留最少的代碼。 使用委派,因為它有助於在出現錯誤時本地化您的問題。 如果您在Main類或main()方法中添加業務邏輯甚至UI代碼,它往往會增長。 這適用於面向對象的方法以及過程編程。

我在每個其他類中都包含一個main方法,它可以有一些合理的獨立行為,並且僅用於簡單的測試目的。

我把它放在一個Program類中,它將一直獨自存在。 它通常只是啟動我的主窗口然后退出時窗口退出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM