C# ProgressBar design pattern
        Posted  
        
            by MadSeb
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by MadSeb
        
        
        
        Published on 2010-06-03T14:50:18Z
        Indexed on 
            2010/06/03
            14:54 UTC
        
        
        Read the original article
        Hit count: 417
        
Hi, I'm working on a database upgrader application. The upgrader updates the schema of a database ( adds new columns, renames columns , adds new tables, new views to an existing database by executing SQL statements ). When a user wants to upgrade from version 1.0 to 2.0 , "Upgrader" objects are taken from an object factory and the "Execute" method of each "Upgrader" is called. The GUI of the application has a progress bar and each time an upgrader object performs a SQL statement the progress bar gets incremented.
            while (!version.Equal(CurrentVersion))
            {
                 IUpgrader myUpgrader = UpgraderFactory.GetUpgrader(version);
                 myUpgrader.Execute(UpgradedFile,progressbar);
                 version.Increment();
            }
My question is very simple : how should the upgrader object communicate with the progressbar. In the code above, the upgrader object is given direct access to the progressbar but I'm wondering if some better way of doing this or better design pattern exists.
Regards, Seb
© Stack Overflow or respective owner