我正在研究數據庫升級應用程序。升級程序更新數據庫的模式(通過執行SQL語句添加新列,重命名列,添加新表,新視圖到現有數據庫)。當用戶想要從版本1.0升級到2.0時,將從對象工廠獲取「升級」對象,並調用每個「升級器」的「執行」方法。應用程序的GUI有一個進度條,每次升級對象執行SQL語句時,進度條都會增加。C#ProgressBar設計模式
while (!version.Equal(CurrentVersion))
{
IUpgrader myUpgrader = UpgraderFactory.GetUpgrader(version);
myUpgrader.Execute(UpgradedFile,progressbar);
version.Increment();
}
我的問題很簡單:升級對象應該如何與進度條進行通信。在上面的代碼中,升級對象被給予直接訪問進度條,但我想知道是否存在一些更好的方式來做這個或更好的設計模式。
問候, 勒布