【发布时间】:2010-12-19 19:54:24
【问题描述】:
我正在开发一个数据库升级器应用程序。升级程序更新数据库的架构(通过执行 SQL 语句添加新列、重命名列、添加新表、新视图到现有数据库)。当用户想要从版本 1.0 升级到 2.0 时,“升级器”对象从对象工厂中获取,并调用每个“升级器”的“执行”方法。应用程序的 GUI 有一个进度条,每次升级程序对象执行 SQL 语句时,进度条都会增加。
while (!version.Equal(CurrentVersion))
{
IUpgrader myUpgrader = UpgraderFactory.GetUpgrader(version);
myUpgrader.Execute(UpgradedFile,progressbar);
version.Increment();
}
我的问题很简单:升级对象应该如何与进度条通信。在上面的代码中,升级器对象可以直接访问进度条,但我想知道是否存在更好的方法或更好的设计模式。
问候, 赛博
【问题讨论】:
标签: c# design-patterns progress-bar