Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Архитектурный шаблон является общим, многоразовые решением для часто встречающихся проблем в архитектуре программного обеспечения в данном контексте. [1] Архитектурные шаблоны решают различные проблемы в разработке программного обеспечения , такие как ограничения производительности компьютерного оборудования , высокая доступность и минимизация бизнес-рисков . Некоторые архитектурные шаблоны были реализованы в программных средах .

На использование слова «шаблон» в индустрии программного обеспечения повлияли аналогичные концепции, выраженные в традиционной архитектуре , такие как « Язык шаблонов» Кристофера Александра (1977), в котором обсуждалась практика с точки зрения создания словаря шаблонов , что побудило практиков. компьютерных наук, чтобы созерцать свой собственный дизайн-лексикон.

Использование этой метафоры в профессии программиста стало обычным явлением после публикации Эрихом Гаммой , Ричардом Хелмом , Ральфом Джонсоном и Джоном Влиссидесом книги « Шаблоны проектирования» (1994), которая теперь широко известна как «Банда четырех», совпавшая с ранними годами общедоступного Интернета , отмечая появление сложных программных систем, «поедающих мир» [2], и соответствующую необходимость кодифицировать быстро растущий мир разработки программного обеспечения на самом глубоком возможном уровне, оставаясь при этом гибкими и адаптивными.

Архитектурные шаблоны похожи на шаблоны проектирования программного обеспечения, но имеют более широкую область применения.

Определение [ править ]

Хотя архитектурный образец передает образ системы, это не архитектура. Архитектурный паттерн - это концепция, которая решает и очерчивает некоторые важные связующие элементы архитектуры программного обеспечения. Бесчисленные разные архитектуры могут реализовывать один и тот же шаблон и иметь общие характеристики. Шаблоны часто определяются как «строго описанные и общедоступные». [3] [4]

Архитектурный стиль [ править ]

Следуя традиционной архитектуре зданий, «программный архитектурный стиль » - это особый метод строительства, характеризующийся особенностями, которые делают его заметным.

Архитектурный стиль определяет: семейство систем с точки зрения структурной организации; словарь компонентов и соединителей с ограничениями на то, как их можно комбинировать. [5]

Архитектурный стиль - это именованная совокупность архитектурных проектных решений, которые (1) применимы в данном контексте разработки, (2) ограничивают архитектурные проектные решения, специфичные для конкретной системы в этом контексте, и (3) проявляют полезные качества в каждом из них. результирующая система. [1]

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

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

Примеры [ править ]

Вот список шаблонов архитектуры и соответствующих шаблонов проектирования программного обеспечения и шаблонов решений .

Некоторые дополнительные примеры архитектурных паттернов:

  • Система классной доски
  • Образец брокера
  • Архитектура, управляемая событиями
  • Неявный вызов
  • Слои
  • Шестиугольная архитектура
  • Микросервисы
  • Действие – домен – респондент , Модель – представление – контроллер , Презентация – абстракция – контроль , Модель – представление – презентатор и Модель – представление – модель представления.
  • Система компонентов сущности
  • Сущность-контроль-граница
  • Многоуровневая архитектура (часто трехуровневая или многоуровневая )
  • Обнаженные предметы
  • Хранилище операционных данных (ODS)
  • Пиринговый
  • Архитектура труб и фильтров
  • Сервис-Ориентированная Архитектура
  • Космическая архитектура
  • Распределенная хеш-таблица

См. Также [ править ]

  • Список стилей и шаблонов архитектуры программного обеспечения
  • Служба обмена сообщениями, управляемая процессами
  • Архитектура предприятия
  • Общие уровни в логической архитектуре информационной системы

Ссылки [ править ]

  1. ^ a b Р. Н. Тейлор, Н. Медведович и Е. М. Дашофи, Архитектура программного обеспечения: основы, теория и практика. Wiley, 2009.
  2. Андриссен, Марк (20 августа 2011 г.). «Почему программное обеспечение съедает мир» . The Wall Street Journal . Проверено 25 апреля 2020 года .
  3. ^ Чанг, Чи-Хунг; Лу, Чжи-Вэй; Линь, Чжи-Хао; Ян, Мин-Фэн; Цай, Чинг-Фу (июнь 2008 г.). «Опыт применения программной среды на основе шаблонов для повышения качества разработки программного обеспечения: 4. Дизайн и реализация OS2F» . Журнал исследований программной инженерии, Vol. 2, №6 . Третья Тайваньская конференция по разработке программного обеспечения (TCSE07). С. 185–194. Архивировано из оригинала на 2011-09-22 . Проверено 16 мая 2012 . Более того, шаблоны часто определяются как нечто «строго описанное и общедоступное». Например, многоуровневая архитектура - это стиль вызова и ответа, когда он определяет общий стиль взаимодействия.
  4. ^ «Архитектурные образцы: определение» . AAHN INFOTECH (ИНДИЯ) PVT. LTD. Архивировано из оригинала на 2012-06-23 . Проверено 16 мая 2012 . Хотя архитектурный образец передает образ системы, это не архитектура как таковая. Архитектурный паттерн - это скорее концепция, которая решает и очерчивает некоторые важные связующие элементы архитектуры программного обеспечения. Бесчисленные разные архитектуры могут реализовывать один и тот же шаблон и, таким образом, иметь общие характеристики. Более того, шаблоны часто определяются как нечто «строго описанное и общедоступное».
  5. ^ a b М. Шоу и Д. Гарлан, Архитектура программного обеспечения: перспективы новой дисциплины. Прентис Холл, 1996.
  6. ^ а б «Глава 3: Архитектурные образцы и стили» .

Библиография [ править ]

  • Авгериу, Париж; Уве Здун (2005). «Повторение архитектурных образцов: язык образцов». 10-я Европейская конференция по шаблонным языкам программ (EuroPlop 2005), Ирзее, Германия, июль .
  • Buschmann F .; Meunier R .; Rohnert H .; Соммерлад П .; Сталь М. (1996). Шаблонно-ориентированная архитектура программного обеспечения: система шаблонов . Джон Вили и сыновья .
  • Bass L .; Clements P .; Казман Р. (2005). Архитектура программного обеспечения на практике: второе издание . Эддисон-Уэсли .