Stiamo scrivendo un programma che esegue uno "aggiornamento automatico del software all'avvio". Se il software trova pronto un aggiornamento, avvierà il processo di aggiornamento e quindi uscirà (e non eseguirà il programma).
Abbiamo due diversi design su come scrivere la logica dell'aggiornamento.
Progettazione 1: la nostra classe di AutoUpdate gestisce tutto, incluso uscire dal programma se necessario.
Progetto 2: AutoUpdate esegue la maggior parte della logica e, se vuole che il programma esca, restituisce un valore che lo indica e Main () si occupa di uscire.
codice saggio, la funzione principale sarebbe simile a:
Design 1 (AutoUpdate si chiude internamente se necessario)
Main()
{
AutoUpdate.DoAutoUpdate();
RunMainProgram();
}
Design 2 (AutoUpdate restituisce true se è necessario uscire, Main gestisce l'uscita)
Main()
{
if (AutoUpdate.DoAutoUpdate() == false)
{
RunMainProgram();
}
}