Шаблон Prototype. Проблема

Опубликовал read-php в 05.02.2011 Категория: Генерация объектов ООП

Представьте веб-игру типа «Цивилизация», в которой элементы действуют на клеточном поле. Каждая клетка может представлять море, равнину или лес. Тип местности может ограничивать движение и возможности элементов занять клетку. Предположим, у нас есть объект типа TerrainFactory, который позволяет создавать объекты Sea (море), Forest (лес) и Plains (равнины). Мы решили, что позволим пользователю выбирать совершенно разные типы окружающей среды, так что объект Sea— это абстрактный суперкласс, реализуемый в классах MarsSea и EarthSea. Объекты Forest и Plains реализуются аналогичным образом. В этой ситуации применим шаблон Abstract Factory. У нас имеются различные иерархии продуктов (Sea, Forest, Plains) с сильными родственными отношениями, включающими наследование (Earth, Mars). На рис. представлена диаграмма класса, показывающая, как можно применить шаблоны Abstract Factory и Factory Method для работы с этими продуктами.
Программирование PHP 07 Шаблон Prototype. Проблема
Как видите, мы используем наследование, чтобы сгруппировать семейство типов местности для продуктов, которые будет генерировать шаблон Factory. Это подходящее решение, но оно требует большой иерархии наследования и не обладает достаточной гибкостью. Если вам не нужны параллельные иерархии наследования и нужна максимальная гибкость во время выполнения программы, можно использовать шаблон Prototype в более мощном варианте шаблона Abstract Factory.

P.S. Для того чтобы получить неплохие деньги с сайта нужно добиться хорошей индексации ресурса поисковыми системами.  Хорошая индексация позволяет добиться хороших доходов.

Комментариев нет

Добавить комментарий