stringtranslate.com

Творческий шаблон

В разработке программного обеспечения шаблоны творческого проектирования — это шаблоны проектирования , которые связаны с механизмами создания объектов и пытаются создавать объекты способом, подходящим для конкретной ситуации. Базовая форма создания объекта может привести к проблемам с проектированием или усложнить проект. Шаблоны творческого проектирования решают эту проблему, каким-то образом управляя созданием объекта.

Обзор

Шаблоны творческого проектирования состоят из двух доминирующих идей. Один из них — это инкапсуляция знаний о том, какие конкретные классы использует система. Другой — скрыть, как создаются и комбинируются экземпляры этих конкретных классов. [1]

Шаблоны творческого проектирования подразделяются на шаблоны создания объектов и шаблоны создания классов, где шаблоны создания объектов связаны с созданием объектов, а шаблоны создания классов — с созданием экземпляров классов. Более подробно, шаблоны создания объектов перекладывают часть создания объекта на другой объект, тогда как шаблоны создания классов откладывают создание объекта на подклассы. [2]

Пять широко известных шаблонов проектирования, которые являются частями творческих шаблонов:

Определение

Создающие шаблоны направлены на то, чтобы отделить систему от того, как ее объекты создаются, составляются и представляются. Они повышают гибкость системы в отношении того, что, кто, как и когда создает объекты.[6]

Применение

Поскольку современная разработка программного обеспечения больше зависит от композиции объектов , чем от наследования классов, акцент смещается от жесткого кодирования поведения к определению меньшего набора базовых поведений, которые можно объединить в более сложные. [7] Поведения жесткого кодирования негибкие, потому что они требуют переопределения или повторной реализации всего этого, чтобы изменить части дизайна. Кроме того, жесткое кодирование не способствует повторному использованию и затрудняет отслеживание ошибок. По этим причинам творческие шаблоны более полезны, чем жестко запрограммированные модели поведения. Шаблоны создания делают дизайн более гибким. Они предоставляют различные способы удаления явных ссылок в конкретных классах из кода, который должен их создать. [8] Другими словами, они создают независимость для объектов и классов.

Рассмотрите возможность применения творческих шаблонов, когда:

Состав

Диаграмма классов Creational Pattern.

Ниже представлена ​​простая диаграмма классов, общая для большинства шаблонов создания. Обратите внимание, что разные творческие модели требуют дополнительных и разных участвующих классов.

Участники :

Примеры

Некоторые примеры творческих шаблонов проектирования включают в себя:

Смотрите также

Рекомендации

  1. ^ Гамма, Эрих; Хелм, Ричард; Джонсон, Ральф; Влиссидес, Джон (1995). Шаблоны проектирования. Массачусетс: Аддисон-Уэсли. п. 81. ИСБН 978-0-201-63361-0. Проверено 22 мая 2015 г.
  2. ^ Гамма, Эрих; Хелм, Ричард; Джонсон, Ральф; Влиссидес, Джон (1995). Шаблоны проектирования. Массачусетс: Аддисон-Уэсли. ISBN 978-0-201-63361-0. Проверено 22 мая 2015 г.
  3. ^ Фриман, Эрик; Фриман, Элизабет; Сьерра, Кэти; Бейтс, Берт (2004). Хендриксон, Майк; Лукидес, Майк (ред.). Шаблоны проектирования Head First. Калифорния: О'Рейли Медиа. п. 156. ИСБН 978-0-596-00712-6. Проверено 22 мая 2015 г.
  4. ^ Фриман, Эрик; Фриман, Элизабет; Сьерра, Кэти; Бейтс, Берт (2004). Хендриксон, Майк; Лукидес, Майк (ред.). Шаблоны проектирования Head First. Калифорния: О'Рейли Медиа. п. 134. ИСБН 978-0-596-00712-6. Проверено 22 мая 2015 г.
  5. ^ Фриман, Эрик; Фриман, Элизабет; Сьерра, Кэти; Бейтс, Берт (2004). Хендриксон, Майк; Лукидес, Майк (ред.). Шаблоны проектирования Head First. Калифорния: О'Рейли Медиа. п. 177. ИСБН 978-0-596-00712-6. Проверено 22 мая 2015 г.
  6. ^ Джудит, епископ (2007). Шаблоны проектирования C# 3.0. Калифорния: О'Рейли Медиа. п. 336. ИСБН 978-0-596-52773-0. Проверено 22 мая 2015 г.
  7. ^ Гамма, Эрих; Хелм, Ричард; Джонсон, Ральф; Влиссидес, Джон (1995). Шаблоны проектирования. Массачусетс: Аддисон-Уэсли. п. 84. ИСБН 978-0-201-63361-0. Проверено 22 мая 2015 г.
  8. ^ Гамма, Эрих; Хелм, Ричард; Джонсон, Ральф; Влиссидес, Джон (1995). Шаблоны проектирования. Массачусетс: Аддисон-Уэсли. п. 85. ИСБН 978-0-201-63361-0. Проверено 22 мая 2015 г.