Шаблон проектирования
Шаблон проектирования — это повторно используемая форма решения проблемы проектирования. Идею предложил архитектор Кристофер Александер. [1] и был адаптирован для различных других дисциплин, особенно для разработки программного обеспечения . [2]
Подробности [ править ]
Организованная коллекция шаблонов проектирования, относящихся к определенной области, называется языком шаблонов . Этот язык дает общую терминологию для обсуждения ситуаций, с которыми сталкиваются дизайнеры.
Элементами этого языка являются сущности, называемые шаблонами. Каждый шаблон описывает проблему, которая возникает снова и снова в нашей среде, а затем описывает суть решения этой проблемы таким образом, что вы можете использовать это решение миллион раз, ни разу не повторяя его дважды. .
— Кристофер Александер, Язык шаблонов [1]
Документирование шаблона требует объяснения, почему конкретная ситуация вызывает проблемы и как компоненты шаблона связаны друг с другом, чтобы найти решение. [3] Кристофер Александер описывает распространенные проблемы проектирования как возникающие из «конфликтующих сил» — например, конфликт между желанием, чтобы в комнате было солнечно, и желанием не перегреваться в летние дни. Шаблон не сообщал дизайнеру, сколько окон разместить в комнате; вместо этого он предложит набор ценностей, которые помогут разработчику принять решение, которое лучше всего подходит для его конкретного приложения. Александр, например, предлагает предусмотреть достаточное количество окон, чтобы свет направлялся по всей комнате. Он считает это хорошим решением, поскольку оно увеличивает удовольствие от пребывания в комнате ее обитателей. Другие авторы могли бы прийти к другим выводам, если бы они придавали большее значение затратам на отопление или материальным затратам. Эти значения, используемые автором шаблона для определения «лучшего» решения, также должны быть задокументированы в шаблоне.
Документация по шаблону также должна объяснять, когда она применима. Поскольку два дома могут сильно отличаться друг от друга, шаблон проектирования домов должен быть достаточно широким, чтобы применяться к ним обоим, но не настолько расплывчатым, чтобы не помогать проектировщику принимать решения. Диапазон ситуаций, в которых можно использовать шаблон, называется его контекстом. Некоторыми примерами могут быть «все дома», «все двухэтажные дома» или «все места, где люди проводят время».
Например, в работе Кристофера Александра автобусные остановки и залы ожидания в хирургическом центре находятся в контексте шаблона «МЕСТО ОЖИДАНИЯ».
Примеры [ править ]
- Шаблон проектирования программного обеспечения , в проектировании программного обеспечения
- Архитектурный шаблон для архитектуры программного обеспечения.
- Шаблон проектирования взаимодействия , используемый при проектировании взаимодействия / взаимодействии человека и компьютера.
- Педагогические закономерности в обучении
- Образец садоводства , в садоводстве
Бизнес-модели также имеют шаблоны проектирования. [4] См. раздел «Бизнес-модель § Примеры» .
См. также [ править ]
Ссылки [ править ]
- ^ Jump up to: Перейти обратно: а б Александр, Кристофер (1977). Язык шаблонов: города, здания, строительство . Серия «Центр структуры окружающей среды». Том. 2. Нью-Йорк: Издательство Оксфордского университета . ISBN 0-19-501919-9 . ОСЛК 3132495 .
- ^ Гамма, Эрих; Хелм, Ричард; Джонсон, Ральф; Влиссидес, Джон (1994). Шаблоны проектирования: элементы объектно-ориентированного программного обеспечения многократного использования . Серия профессиональных компьютеров Аддисона-Уэсли. Ридинг, Массачусетс: Аддисон-Уэсли . ISBN 0-201-63361-2 . ОСЛК 31171684 . Книга « Банда четырех ».
- ^ Майориелло, Джеймс (2 октября 2002 г.). «Что такое шаблоны проектирования и нужны ли они мне?» . разработчик.com . Проверено 21 марта 2011 г.
- ^ Например: Меттлер, Тобиас; Эйрих, Маркус (июнь 2012 г.). «Подход на основе шаблонов проектирования для анализа бизнес-моделей электронного здравоохранения». Политика и технологии здравоохранения . 1 (2): 77–85. дои : 10.1016/j.hlpt.2012.04.005 .
Дальнейшее чтение [ править ]
- Эрл, Томас (2009). Шаблоны проектирования SOA . Серия сервис-ориентированных вычислений Prentice Hall от Томаса Эрла. Река Аппер-Сэддл, Нью-Джерси: Прентис-Холл . ISBN 978-0-13-613516-6 . OCLC 156832597 .
- Лейтнер, Хельмут (2015). Теория паттернов: введение и перспективы по следам Кристофера Александра . Серия исследований закономерностей. Том. 1. Грац: Хельмут Лейтнер, HLS Software. ISBN 978-1-5056-3743-4 . OCLC 913795677 .
- Пре, Вольфганг (1995). Шаблоны проектирования для объектно-ориентированной разработки программного обеспечения . Книги ACM Press. Уокингем, Англия; Ридинг, Массачусетс: Аддисон-Уэсли . ISBN 0201422948 . ОСЛК 31291883 .
- Шмидт, Дуглас К.; Бушманн, Франк ; Хенни, Кевлин (2007). Шаблонно-ориентированная архитектура программного обеспечения: о шаблонах и языках шаблонов . Серия Wiley по шаблонам проектирования программного обеспечения. Том. 5. Чичестер, Великобритания; Нью-Йорк: Уайли . ISBN 9780471486480 . OCLC 62532759 .
- Тидвелл, Дженифер; Брюэр, Чарльз; Валенсия, Энн (2020) [2005]. Проектирование интерфейсов: шаблоны эффективного проектирования взаимодействия (3-е изд.). Севастополь, Калифорния: О'Рейли . ISBN 9781492051961 . OCLC 1138701080 .
Представляет решения распространенных проблем проектирования пользовательского интерфейса в виде набора шаблонов, каждый из которых содержит конкретные примеры, рекомендации и предупреждения.