title: How Observer pattern is better than firing SQL query at certain intervals?
body: <p>I developed an inventory application using C#-3.5. The main MDI Form contains a status bar with information on Total Gross Amount in current month and Total Bills generated in current month. Whenever a new invoice is generated and the invoice information is saved in the database, this status information is supposed to change.</p>
  
  <p>At present it changes on next application startup. I could improve it further by creating a new thread when the MDI Form loads and execute SQL Query query with the timer. But I am wondering whether Observer pattern could be used to notify the Status Bar when a new invoice is generated. In either case, I have to fire an SQL Query.</p>
  
  <p>If an Observer pattern can be used, what are the advantages?</p>
  
  <p><strong>Edited</strong></p>
  
  <p>I want to execute a method: UpdateStatusInformation() on three scenarios:</p>
  
  <p>(1) Save Invoice button is clicked on Invoice Form.</p>
  
  <p>(2) Delete Invoice button is clicked on DeleteInvoice Form.</p>
  
  <p>(3) Save Stock button clicked (when new stock is added) on StockEntry Form.</p>
  
  <p>Can I only link via a Delegate? Please illustrate.</p>