следствие своей закрытости фаб

Автор admin Суббота, 20 июня 2009 11:32

следствие своей закрытости фабрики доступны только из главного Фабричного метода. Следовательно, чтобы создать объект, весь клиентский код должен действовать через Фабричный метод. Непосредственное создание объектов осуществляется вызовом ShapeFacto-ry::createShape() — статической функции, которая путем отображения в ShapeFactory находит соответствующий объект фабрики по переданному идентификатору. Фабрика непосредственно создает объект, хотя при желании можно представить более сложную ситуацию, в которой объект-фабрика возвращается и используется вызывающей стороной для создания объекта более изощренным способом. Впрочем, чаще сложности полиморфного Фабричного метода отказываются излишними, и решение со статической функцией в базовом классе (см. программу ShapeFactoryl.cpp) работает нормально. Обратите внимание: объект ShapeFactory необходимо инициализировать и заполнить отображение объектами фабрик; это происходит в Синглете ShapeFactorylnitializer. Итак, чтобы добавить новый тип в эту архитектуру, вы должны определить тип, создать фабрику и модифицировать Синглет ShapeFactorylnitializer, чтобы экземп


Комментарии закрыты.