return NO; } -GimmeO { purge(c
Автор admin Пятница, 19 июня 2009 11:32
return NO; } -GimmeO { purge(chain); } int mainO { 496 Глава 10 • Паттерны проектирования Фабрика Если вы планируете добавлять в систему новые типы, разумнее всего воспользоваться поддержкой полиморфизма и создать общий интерфейс для новых типов. Таким образом, код систем отделяется от информации о конкретных типах, и добавление новых типов не нарушит работоспособности готового кода… на первый взгляд. Поначалу кажется, что изменения в программе ограничиваются объявлением нового производного типа, но это не совсем так. Объект нового типа все равно нужно создать, а в точке создания требуется задать используемый конструктор. Следовательно, если код создания объектов распределен по приложению, возникает та же проблема, что и при добавлении новых типов — вам придется искать в программе все точки, в которых учитывается конкретный тип объекта. В данном случае речь идет о создании типа, а не его использовании (которое обеспечивается автоматически средствами полиморфизма), но последствия остаются прежними: добавление нового типа порождает проблемы. Одно из возможных решений — потребовать, чтобы все объекты с
Комментарии закрыты.
Последние комментарии