Студопедия — Архитектурные образцы и стили
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Архитектурные образцы и стили






Архитектурный образцы (стили) в программном обеспечении — это аналоги архитектурных стилей, применяемых в строительстве зданий (например, известны готический стиль, стиль эпохи Возрождения, античные стили). Любой архитектурный образец состоит из нескольких ключевых характеристик и правил, которые в сочетании обеспечивают архитектурную целостность. Архитектурный образец определяется:

4* набором типов элементов (например, репозитария данных или компонента, вычисляющего математическую функцию);

♦ топологической схемой элементов, обозначающей взаимосвязь между ними;

♦ набором семантических ограничений (например, фильтры в составе стиля «каналы и фильтры» — это преобразователи данных; они постепенно преобразуют входящие потоки в выходящие, но при этом не располагают контролем над восходящими и нисходящими потоками элементов);

♦ набором механизмов взаимодействия (например, вызовов подпрограмм, событий-подписчиков, досок объявлений), регламентирующих координацию элементов в рамках установленной топологии.

Совсем недавно Мэри Шоу (Магу Shaw) и Дэвид Гарлан (David Garlan) попытались классифицировать набор архитектурных образцов, которые тогда назывались архитектурными стилями, или идиомами. Усилиями сообщества программных инженеров на основе результатов их исследований были сформулированы архитектурные образцы — по аналогии с образцами проектирования и образцами кодирования.

В своей работе [Shaw 96] Мэри Шоу выдвинула гипотезу о существовании высокоуровневых абстракций сложных систем, которые на тот момент не изучались и не классифицировались, — впрочем, аналогичная ситуация в тот момент складывалась во многих других инженерных дисциплинах.

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

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

вторичный стиль независимых элементов. У самих событийных систем два вторичных образца: неявный и явный вызов.

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

Заключение

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

Мы представили ряд распространенных тактик реализации шести проанализированных в главе 4 атрибутов качества: готовности, модифицируемости, производительности, безопасности, контролепригодности и практичности. Все рассмотренные тактики открыты и пользуются широкой известностью.

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

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

Дополнительная литература

Подробный анализ проблем безопасности содержится в работе [Ramachandran 02]; сведения о связи между практичностью и программно-архитектурными образцами есть в издании [Bass 01а], а о методиках обеспечения готовности в распределенных системах — в исследовании [Jalote 94]. [McGregor 01] — добротный источник информации о контролепригодности.

Двухтомный справочник по архитектурным образцам — [Buschmann 96] и [Schmidt 00] — содержит данные по образцам MVC и РАС (том 1) и программной архитектуре, ориентированной на образцы (том 2).

Дискуссии по поводу симплекс-архитектуры обеспечения готовности ведутся по адресу http://www.sei.cmu.edu/sirnplex/.

В работе [Bachmann 02] применение тактик рассматривается как основа для анализа модифицируемости и производительности; [Chretienne 95] содержит данные о концепциях теории планирования; в работе [Briand 99] предлагается обзор метрик сцепления.

Существует документация по различным образцам: «Модель-представление- контроллер» [Gamma 95], «Представление-абстракция-управление» [Buschmann 96], «Seeheim» [Plaff 85] и «Arch/Slinky» [UIMS 92].

Дискуссионные вопросы

1. Возьмем популярный веб-сайт — например, Amazon или eBay. Какие тактики имеет смысл рассмотреть при выборе архитектурных образцов и стратегий, реализующих требования к производительности, которые вы должны были перечислить в ответе на вопрос 3 в главе 4?

2. Какие компромиссные решения относительно других атрибутов качества (безопасности, готовности и модифицируемости), вероятнее всего, придется принять, если обратиться к тактикам, выбранным при ответе на предыдущий вопрос?

3. Внимание, которое уделяется практичности в ходе проектирования архитектур, не всегда достаточно — таким образом, реализовать цели, связанные с практичностью, становится значительно сложнее, поскольку до них дело доходит в последний момент. Возьмите любую систему, об архитектуре которой вы имеете представление, и постарайтесь вспомнить, какие тактики реализации практичности в ней задействованы.

 

 







Дата добавления: 2015-04-16; просмотров: 632. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Классификация и основные элементы конструкций теплового оборудования Многообразие способов тепловой обработки продуктов предопределяет широкую номенклатуру тепловых аппаратов...

Именные части речи, их общие и отличительные признаки Именные части речи в русском языке — это имя существительное, имя прилагательное, имя числительное, местоимение...

Интуитивное мышление Мышление — это пси­хический процесс, обеспечивающий познание сущности предме­тов и явлений и самого субъекта...

Ваготомия. Дренирующие операции Ваготомия – денервация зон желудка, секретирующих соляную кислоту, путем пересечения блуждающих нервов или их ветвей...

Билиодигестивные анастомозы Показания для наложения билиодигестивных анастомозов: 1. нарушения проходимости терминального отдела холедоха при доброкачественной патологии (стенозы и стриктуры холедоха) 2. опухоли большого дуоденального сосочка...

Сосудистый шов (ручной Карреля, механический шов). Операции при ранениях крупных сосудов 1912 г., Каррель – впервые предложил методику сосудистого шва. Сосудистый шов применяется для восстановления магистрального кровотока при лечении...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия