Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Введение в архитектуру программного обеспечения

Дальнейшее развитие идеи паттернов проектирования

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

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

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

К настоящему времени в области разработки программных систем существует множество паттернов, которые отличаются областью применения, масштабом, содержимым, стилем описания. Например, в зависимости от сферы применения существуют такие паттерны, как паттерны анализа, проектирования, тестирования, документирования, организации процесса разработки, планирования проектов и другие [60, 61].

В настоящее время наиболее популярными паттернами являются паттерны проектирования. Одной из распространенных классификаций таких паттернов является классификация по степени детализации и уровню абстракции рассматриваемых систем. Согласно [62], паттерны проектирования программных систем делятся на следующие категории:

  • • архитектурные паттерны;
  • • паттерны проектирования;
  • • идиомы.

Архитектурные паттерны, являясь наиболее высокоуровневыми паттернами, описывают структурную схему программной системы в целом. В данной схеме указываются отдельные функциональные составляющие системы, называемые подсистемами, а также взаимоотношения между ними. Примером архитектурного паттерна является хорошо известная программная парадигма «модель—представление-контроллер» (model—view—controller — MVC).

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

Паттерны проектирования (в том числе GoF) описывают схемы детализации программных подсистем и отношений между ними, при этом они не влияют на структуру программной системы в целом и сохраняют независимость от реализации языка программирования. Паттерны GoF относятся именно к этой категории. Согласно [62], под паттернами проектирования объектно-ориентированных систем понимается описание взаимодействия объектов и классов, адаптированных для решения общей задачи проектирования в конкретном контексте.

Идиомы, являясь низкоуровневыми паттернами, имеют дело с вопросами реализации какой-либо проблемы с учетом особенностей данного языка программирования. При этом часто одни и те же идиомы для разных языков программирования выглядят по-разному или не имеют смысла вовсе. Например, в C++ для устранения возможных утечек памяти могут использоваться интеллектуальные указатели. Интеллектуальный указатель содержит указатель на участок динамически выделенной памяти, который будет автоматически освобожден при выходе из зоны видимости. В среде Java такой проблемы просто не существует, так как там используется автоматическая сборка мусора. Обычно для использования идиом нужно глубоко знать особенности применяемого языка программирования.

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Пред   СОДЕРЖАНИЕ   След >
 

Популярные страницы