stringtranslate.com

Шаблон проектирования

Шаблон проектирования — это повторно используемая форма решения проблемы проектирования. Идея была предложена архитектором Кристофером Александером [1] и была адаптирована для различных других дисциплин, в частности для разработки программного обеспечения . [2] Шаблоны проектирования обычно используются для повышения гибкости объектно-ориентированных систем.

Подробности

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

Элементами этого языка являются сущности, называемые шаблонами. Каждый шаблон описывает проблему, которая возникает снова и снова в нашей среде, а затем описывает суть решения этой проблемы таким образом, что вы можете использовать это решение миллион раз, ни разу не повторяя его дважды. .

-  Кристофер Александер, Язык шаблонов [1]

Документирование шаблона требует объяснения, почему конкретная ситуация вызывает проблемы и как компоненты шаблона связаны друг с другом, чтобы найти решение. [3] Кристофер Александер описывает распространенные проблемы проектирования как возникающие из «конфликтующих сил» — например, конфликт между желанием, чтобы в комнате было солнечно, и желанием не перегреваться в летние дни. Шаблон не сообщал дизайнеру, сколько окон разместить в комнате; вместо этого он предложит набор ценностей, которые помогут разработчику принять решение, которое лучше всего подходит для его конкретного приложения. Александр, например, предлагает предусмотреть достаточное количество окон, чтобы свет направлялся по всей комнате. Он считает это хорошим решением, поскольку оно увеличивает удовольствие от пребывания в комнате ее обитателей. Другие авторы могли бы прийти к другим выводам, если бы они придавали большее значение затратам на отопление или материальным затратам. Эти значения, используемые автором шаблона для определения «лучшего» решения, также должны быть задокументированы в шаблоне.

Документация по шаблону также должна объяснять, когда она применима. Поскольку два дома могут сильно отличаться друг от друга, шаблон проектирования домов должен быть достаточно широким, чтобы применяться к ним обоим, но не настолько расплывчатым, чтобы не помогать проектировщику принимать решения. Диапазон ситуаций, в которых можно использовать шаблон, называется его контекстом. Некоторыми примерами могут быть «все дома», «все двухэтажные дома» или «все места, где люди проводят время».

Например, в работе Кристофера Александера автобусные остановки и залы ожидания в хирургическом центре находятся в контексте шаблона «МЕСТО ОЖИДАНИЯ».

Примеры

Бизнес-модели также имеют шаблоны проектирования. [4] См. Бизнес-модель § Примеры .

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

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

  1. ^ АБ Александр, Кристофер (1977). Язык шаблонов: города, здания, строительство . Серия «Центр структуры окружающей среды». Том. 2. Нью-Йорк: Издательство Оксфордского университета . ISBN 0-19-501919-9. ОСЛК  3132495.
  2. ^ Гамма, Эрих; Хелм, Ричард; Джонсон, Ральф; Влиссидес, Джон (1994). Шаблоны проектирования: элементы объектно-ориентированного программного обеспечения многократного использования . Серия профессиональных компьютеров Аддисона-Уэсли. Ридинг, Массачусетс: Аддисон-Уэсли . ISBN 0-201-63361-2. ОСЛК  31171684.Книга « Банда четырех ».
  3. ^ Майориелло, Джеймс (2 октября 2002 г.). «Что такое шаблоны проектирования и нужны ли они мне?». разработчик.com . Проверено 21 марта 2011 г.
  4. ^ Например: Меттлер, Тобиас; Эйрих, Маркус (июнь 2012 г.). «Подход на основе шаблонов проектирования для анализа бизнес-моделей электронного здравоохранения». Политика и технологии здравоохранения . 1 (2): 77–85. doi :10.1016/j.hlpt.2012.04.005.

дальнейшее чтение