Шаблон дизайна - Design pattern
А шаблон дизайна это многократно используемая форма решения дизайнерской проблемы. Идею представил архитектор Кристофер Александр[1] и был адаптирован для различных других дисциплин, в частности программная инженерия.[2]
Подробности
Организованный набор шаблонов проектирования, относящихся к определенной области, называется язык шаблонов. Этот язык дает общую терминологию для обсуждения ситуаций, с которыми сталкиваются дизайнеры.
Элементами этого языка являются объекты, называемые шаблонами. Каждый шаблон описывает проблему, которая возникает снова и снова в нашей среде, а затем описывает суть решения этой проблемы таким образом, что вы можете использовать это решение миллион раз, никогда не повторяя его дважды. . - Кристофер Александр[1]
Документирование шаблона требует объяснения, почему конкретная ситуация вызывает проблемы и как компоненты шаблона соотносятся друг с другом, чтобы дать решение.[3] Кристофер Александр описывает общие проблемы дизайна как возникающие из «конфликтующих сил» - таких как конфликт между желанием, чтобы комната была солнечной, и желанием, чтобы она не перегревалась летними днями. Шаблон не сказал бы дизайнеру, сколько окон нужно разместить в комнате; вместо этого предлагается набор значений, которые помогут разработчику принять решение, которое лучше всего подходит для его конкретного приложения. Александр, например, предлагает разместить достаточно окон, чтобы свет проникал по всей комнате. Он считает это хорошим решением, поскольку считает, что это увеличивает удовольствие от комнаты для ее обитателей. Другие авторы могут прийти к другим выводам, если будут уделять больше внимания расходам на отопление или материальным затратам. Эти значения, используемые автором шаблона для определения «лучшего» решения, также должны быть задокументированы в шаблоне.
Документация по шаблону также должна объяснять, когда это применимо. Поскольку два дома могут сильно отличаться друг от друга, шаблон проектирования домов должен быть достаточно широким, чтобы применяться к ним обоим, но не настолько расплывчатым, чтобы не помогать дизайнеру принимать решения. Диапазон ситуаций, в которых можно использовать шаблон, называется его контекстом. Некоторыми примерами могут быть «все дома», «все двухэтажные дома» или «все места, где люди проводят время».
Например, в работе Кристофера Александра автобусные остановки и залы ожидания в хирургическом центре находятся в контексте паттерна «МЕСТО, КОТОРЫЙ ЖДАТЬ».
Примеры
- Шаблон проектирования программного обеспечения, в разработке программного обеспечения
- Архитектурный образец, для архитектуры программного обеспечения
- Шаблон проектирования взаимодействия, используется в дизайне взаимодействия / человеко-компьютерном взаимодействии
- Педагогические образцы, в обучении
- Выкройное садоводство, в садоводстве
Бизнес-модели также имеют шаблоны проектирования.[4][5]
Смотрите также
Рекомендации
- ^ а б Александр, язык шаблонов
- ^ Гамма и другие., 1994, Паттерны дизайна ("Банда из четырех " книга)
- ^ Джеймс Майориелло (2002-10-02). «Что такое шаблоны дизайна и нужны ли они?». Получено 2011-03-21.
- ^ Меттлер Т, Эйрих М (2012). «Основанный на шаблонах проектирования подход к анализу бизнес-моделей электронного здравоохранения». Политика и технологии здравоохранения. 1 (2): 77–85. Дои:10.1016 / j.hlpt.2012.04.005.
- ^ Шпренгер М, Меттлер Т (2016). О полезности шаблонов проектирования бизнес-моделей электронного здравоохранения. Европейская конференция по информационным системам.
дальнейшее чтение
- Александр, Кристофер (1977). Язык шаблона: Города, Здания, Строительство. Oxford University Press. ISBN 0-19-501919-9.
- Эрл, Томас (2009). Шаблоны проектирования SOA. Нью-Йорк: Prentice Hall / PearsonPTR. п. 864. ISBN 978-0-13-613516-6.
- Франк Бушманн, Кевлин Хенни, Дуглас С. Шмидт «О шаблонах и языках шаблонов»
- Гамма, Эрих; Хелм, Ричард; Джонсон, Ральф; Влиссидес, Джон (1994). Паттерны проектирования: элементы объектно-ориентированного программного обеспечения многократного использования. Эддисон-Уэсли. ISBN 0-201-63361-2. (Примечание: ведутся споры о том, действительно ли книга «Банда четырех» содержит какие-либо закономерности в александрийском смысле.)
- Джеймс Коплиен (11.07.2014). "Шаблоны: идея основана на работах Александра". Получено 2014-07-16.
GoF утверждает, что черпает вдохновение в образцах у Кристофера Александра (как говорится в начале книги), который популяризировал этот термин в более широкой области дизайна. Для Александра образец: всегда является элементом языка образцов; способствует глубокому человеческому чувству; и всегда имеет геометрическую природу. По крайней мере, некоторые из шаблонов GoF терпят неудачу хотя бы в одной из этих точек, а некоторые не работают во всех трех.
- Дженифер Тидвелл. Проектирование интерфейсов
- Вольфганг Пре. Шаблоны проектирования для объектно-ориентированной разработки программного обеспечения
- Лейтнер, Гельмут (2015). Теория паттернов: введение и перспективы по следам Кристофера Александра, ISBN 1505637430.
внешняя ссылка
- Примеры Шаблоны проектирования в java
- Шаблоны проектирования Java Полное руководство
- Полный набор шаблонов проектирования (творческий, структурный, поведенческий) на C ++ Антонио Гулли
- Шаблоны проектирования в Javascript Томас Коррал