데이터베이스 업그레이드 응용 프로그램에서 작업하고 있습니다. 업그레이드 프로그램은 데이터베이스의 스키마를 업데이트합니다 (SQL 문을 실행하여 새 열 추가, 열 이름 바꾸기, 새 테이블 추가, 기존 데이터베이스에 새 뷰 추가). 사용자가 버전 1.0에서 2.0으로 업그레이드하려면 객체 팩터 리에서 "Upgrader"객체를 가져오고 각 "Upgrader"의 "Execute"메소드가 호출됩니다. 응용 프로그램의 GUI에는 진행 막대가 있으며 업 그레 이드 객체가 SQL 문을 수행 할 때마다 진행 막대가 증가합니다.C# ProgressBar 디자인 패턴
while (!version.Equal(CurrentVersion))
{
IUpgrader myUpgrader = UpgraderFactory.GetUpgrader(version);
myUpgrader.Execute(UpgradedFile,progressbar);
version.Increment();
}
내 질문은 매우 간단합니다. 업그레이드 프로그램 개체가 어떻게 진행률 표시 줄과 통신해야합니까? 위의 코드에서 업 그레 이드 개체는 progressbar에 직접 액세스 할 수 있지만이 더 나은 디자인 패턴을 수행하는 더 나은 방법이 있는지 궁금합니다.
감사합니다, 셉