Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Software Engineering2010.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
539.8 Кб
Скачать

Примеры архитектурных стилей и моделей

Есть много распространенных способов разработки программных модулей и их связей, в том числе:

  • Blackboard

  • Клиент-серверная модель (client-server)

  • Архитектуры, построенные вокруг базы данных (database-centric architecture)

  • Распределенные вычисления (distributed computing)

  • Событийная архитектура (event-driven architecture)

  • Front end and back end

  • Неявные вызовы (implicit invocations)

  • Монолитное приложение (monolithic application)

  • Peer-to-peer

  • Пайпы и фильтры (pipes and filters)

  • Plugin

  • Representational State Transfer

  • Rule evaluation

  • Поиск-ориентированная архитектуры

  • Сервис-ориентированная архитектура

  • Shared nothing architecture

  • Software componentry

  • Space based architecture

  • Структурированная

  • Трех-уровневая

Паттерны проектирования

Шаблон проектирования или паттерн (англ. design pattern) — повторимая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста.

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

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

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

Шаблоны проектирования подразделяются на:

  • Основные шаблоны (шаблон делегирования, шаблон функционального дизайна, неизменяемый объект, интерфейс и др.)

  • Порождающие шаблоны проектирования (абстрактная фабрика, строитель, фабричный метод, объектный пул и др.)

  • Структурные шаблоны (адаптер, мост, декоратор, компоновщик и др.).

  • Поведенческие шаблоны (цепочка ответственности, команда, интерпретатор, курсор, посредник, хранитель, стратегия и др.)

  • Шаблоны параллельного программирования (активный объект, объект-монитор, реактор и др.)

  • MVC (семейство Model-View_controller шаблонов)

  • Enterprise (Объект доступа к данным и др.)

  • Unsorted (Хранилище, канад событий и др.)

В этой главе мы рассмотрим 3 наиболее популярных шаблона с примерами их реализации на языке Java.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]