Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Подготовка к зачету Гадасина за 16 часов.docx
Скачиваний:
0
Добавлен:
21.01.2024
Размер:
8.53 Mб
Скачать

35. Антипаттерны и их классификация

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

Общепринятые классификации отсутствуют, можно выделить типовые группы:

  • в управлении разработкой ПО

  • в разработке ПО

  • в объектно-ориентированном проектировании

  • в области программирования

  • методологические

  • организационные

36. Классификация Фреймворков

Классификация фреймворков:

По месту применения:

1. Инфраструктурный – упрощает разработку инфраструктурных элементов таких, как ОС. Используется внутри организации и не поступает в продажу.

2. Промежуточного ПО – используются для интеграции распределенных приложений и компонент

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

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

- типовые для домена заинтересованные лица;

- проблемы;

- архитектурные точки зрения;

- правила их интеграции (точек зрения);

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

Фреймворки, используемые по принципу черного ящика, относят к фреймворкам управляемыми данными. При их использовании в качестве основных механизмов формирования приложения выступают композиция компонентов и параметризация. Требуемая функциональность достигается за счет добавления в фреймворк дополнительных компонентов. Работать с ними проще, но разработка их сложнее.

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

По масштабу применения фреймворки делят на 3 группы:

1. уровня приложения – обеспечивают полный набор функций, который реализуется типовыми приложениями. Обычно сюда входят: ГПИ (GUI), БД, документация. Пример: MFC (Microsoft Foundation Classes), служащие для создания приложений, ориентированных на работу в среде Windows.

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

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

В последнем случае речь идет о фреймворках уровня организации

(enterprise). Термин «организация» понимается в самом широком смысле и включает коммерческие и некоммерческие организации, целые корпорации и их подразделения, различного рода ассоциации типа совместных предприятий и т.д. Следует особо отметить, что термин «организация» включает в себя такие элементы, как людей, собственно бизнес, информацию, технологии, а не только информационную систему.

Классификация фрейморков уровня домена:

Фреймоврки уровня домена классифицируют по признакам:

- назначение

- принцип построения

- гибкость использования

- условия распространения

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

С точки зрения реконфигурирования выделяются жесткие и гибкие(мягкие). Жесткие не предусматривают возможность настройки и могут требовать использование конкретного инструментария и методологии проектирования. Гибкие - разрешают настраивать фреймворк для решения конкретной задачи.