我有一個Windows窗體應用程序,當前在啓動時加載數據庫。流程如下:WinForms應用程序中的初始化代碼 - Program.cs或MainForm?
Program.cs => Application.Run(new MainForm()); => MainForm構造函數=>打開數據庫
所以基本上MainForm保存所有讓應用程序運行的零碎,而Program.cs只是一個存根。目前,加載的數據庫的名稱是硬編碼的,我想添加功能來指定要通過命令行加載的數據庫的名稱。同時,我想添加一些單元測試甚至依賴注入的能力,所以我想知道哪種方法是推薦的?
- 更改MainForm的構造函數以接受一些參數。然後換Program.cs的讀取命令行並更改呼叫
Application.Run(new MainForm());
相應 - 離開的Program.cs和構造不變的簽名和檢查命令行中的MainForm 的構造
方法一,似乎更清潔,因爲它允許即測試運行器創建一個測試數據庫的MainForm,但因爲我通常不是一個WinForms開發人員,我不知道是否可能有副作用,沒有在主窗體上的默認構造函數或如果有更好的方法?