Costruzione di oggetti in una e due fasi
È possibile scegliere tra due tecniche per creare oggetti grafici, quali penne e pennelli:
Costruzione a uno stadio: Creare e inizializzare l'oggetto in una fase, ogni volta con il costruttore.
Costruzione in due fasi: Creare e inizializzare l'oggetto in due fasi separate. Il costruttore crea l'oggetto e una funzione di inizializzazione viene inizializzato.
La costruzione a due livelli è sempre più sicuro. Nella costruzione a uno stadio, il costruttore potrebbe generare un'eccezione se si specificano argomenti non corretti o l'esito negativo di allocazione della memoria. Il problema è possibile evitare dalla costruzione a due livelli, sebbene sia necessario verificare la presenza di errore. In entrambi i casi, eliminare l'oggetto è dello stesso processo.
Nota
Queste tecniche sono valide per creare tutti gli oggetti, non solo gli oggetti grafici.
Esempio di entrambe le tecniche di costruzione
Il seguente esempio mostra breve entrambi i metodi di creazione dell'oggetto Pen:
// One-stage
CPen myPen1(PS_DOT, 5, RGB(0,0,0));
// Two-stage: first construct the pen
CPen myPen2;
// Then initialize it
if(myPen2.CreatePen(PS_DOT, 5, RGB(0,0,0)))
{
// Use the pen
}