Одн- Этап и двухступенная проектирование объектов
Имеется выбор между 2 методами для создания графических объектов, например пера и кистей:
конструкция Одн-стадии: Создайте и инициализируйте объект в одной точке всем с конструктором.
двухступенная конструкция: Создайте и инициализируйте объект в 2 разных стадиях.Конструктор создает объект и функцию инициализации инициализирует ее.
Двухступенная конструкция всегда безопасне.В конструкции одн-стадии конструктор может выдаваться исключение, если предоставляется неправильные аргументы или ошибка выделения памяти.Эта проблема избежать двухступенной конструкцией, хотя необходимо проверить сбоя.В любом случае, разрушать объект тот же процесс.
Примечание |
---|
Эти методы применяются к созданию все объекты, а не только графических объектов. |
Пример обоих методов конструирования
Кратко показано в следующем примере оба метода создание объекта пера.
// 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
}