[英]JavaFX application - design of main class
我目前正在嘗試使用JavaFX開發應用程序,而我只是一開始就陷入了困境。 我想在此實現中使用MVC模式,並使此實現盡可能可重用。 該應用的基本說明:
1)它使用配置文件,其中存儲了應用程序使用的所有數據庫連接參數(通過,登錄)和其他參數。
2)所有與配置其他應用程序的工作流有關,因此它必須將兩個數據庫對象存儲到兩個不同的數據庫中,並通過它們在數據庫中進行操作。
3)該設計假定視圖很少,每個視圖都有其自己的控制器,並且可以通過它們來實現不同的功能,但是所有視圖都可以觸發對數據庫或配置文件的操作。
4)目的還在於在使用過程中在不同視圖之間切換時記住前一個視圖的狀態。
這就是為什么我有以下問題:
1)啟動應用程序時,我測試到數據庫的連接,如果成功,則連接到它們。 我可以在Main類中這樣做嗎?還是應該有其他一些類來存儲所有這些db對象,以防在此類中引用它們? 每個控制器是否僅因為必須訪問這些數據庫對象就使用Main類的實例就可以(假設我決定不使用我在其中進行所有連接的其他類)嗎?
2)主班的作用是什么? 是否應該將其用作主視圖(如在MVC中一樣),並且應該僅啟動應用程序並將進一步的責任傳遞給例如LoginController / View ...?
我會很高興得到一些明確的答案,這可能會啟發我這個問題。
沒有愚蠢的問題,他們說...:D
正如James_D所指出的,您的Main
class應該就是這樣
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("ui_main.fxml"));
stage.setScene(new Scene(root));
stage.show();
}
Main
類通常在MVC中不起作用。 但是,如果您不使用任何依賴項注入框架,則Main
類通常在Model,View和Controller之間執行連接。
模型是必須放置所有(業務/域)邏輯的位置。 如果控制器需要訪問數據庫,它將使用Model的實例。 模型通常將包括一組其他對象,這些對象提供實際的功能,例如數據庫訪問,網絡訪問。 由於提供對象的功能成為獨立的模塊並且可重復使用,因此可以提供最大的靈活性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.