Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Глава 3. Порождающие паттерны

Читайте также:
  1. Введение в паттерны проектирования
  2. Введение в паттерны проектирования
  3. Введение в паттерны проектирования
  4. Введение в паттерны проектирования
  5. Введение в паттерны проектирования
  6. Введение в паттерны проектирования
  7. Гдд Паттерны поведения
  8. Глава 1. Введение в паттерны проектирования
  9. Глава 4. Структурные паттерны

Порождающие паттерны проектирования абстрагируют процесс инстанцирова-ния. Они помогут сделать систему независимой от способа создания, композиции и представления объектов. Паттерн, порождающий классы, использует наследо­вание, чтобы варьировать инстанцируемый класс, а паттерн, порождающий объек­ты, делегирует инстанцирование другому объекту.

Эти паттерны оказываются важны, когда система больше зависит от компози­ции объектов, чем от наследования классов. Получается так, что основной упор делается не на жестком кодировании фиксированного набора поведений, а на опре­делении небольшого набора фундаментальных поведений, с помощью компози­ции которых можно получать любое число более сложных. Таким образом, для создания объектов с конкретным поведением требуется нечто большее, чем прос­тое инстанцирование класса.

Для порождающих паттернов актуальны две темы. Во-первых, эти паттерны инкапсулируют знания о конкретных классах, которые применяются в системе. Во-вторых, скрывают детали того, как эти классы создаются и стыкуются. Един­ственная информация об объектах, известная системе, - это их интерфейсы, опре­деленные с помощью абстрактных классов. Следовательно, порождающие паттер­ны обеспечивают большую гибкость при решении вопроса о том, что создается, кто это создает, как и когда. Можно собрать систему из «готовых» объектов с са­мой различной структурой и функциональностью статически (на этапе компиля­ции) или динамически (во время выполнения).

Иногда допустимо выбирать между тем или иным порождающим паттерном. Например, есть случаи, когда с пользой для дела можно использовать как прото­тип, так и абстрактную фабрику. В других ситуациях порождающие паттерны дополняют друг друга. Так, применяя строитель, можно использовать другие пат­терны для решения вопроса о том, какие компоненты нужно строить, а прототип часто реализуется вместе с одиночкой.

Поскольку порождающие паттерны тесно связаны друг с другом, мы изучим:разу все пять, чтобы лучше были видны их сходства и различия. Изучение будет нестись на общем примере - построении лабиринта для компьютерной игры. Правда, и лабиринт, и игра будут слегка варьироваться для разных паттернов. Иногда целью игры станет просто отыскание выхода из лабиринта; тогда у игрока дет лишь один локальный вид помещения. В других случаях в лабиринтах мо­гут встречаться задачки, которые игрок должен решить, и опасности, которые ему

дстоит преодолеть. В подобных играх может отображаться карта того участка:абиринта, который уже был исследован.





Дата добавления: 2015-09-11; просмотров: 95 | Поможем написать вашу работу | Нарушение авторских прав

Оформление пользовательского интерфейса | Оформление пользовательского интерфейса | Поддержка нескольких стандартов внешнего облика | Поддержка нескольких оконных систем | Проектирование редактора документов | Подклассы Windowlmp | Операции пользователя | Операции пользователя | Правописание и расстановка переносов | Паттерн итератор |


lektsii.net - Лекции.Нет - 2014-2025 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав