Студопедия
Главная страница | Контакты | Случайная страница

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

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

Читайте также:
  1. I. Введение
  2. I. Введение
  3. I. Введение
  4. I. Введение
  5. I. Введение.
  6. II. Введение (зачем и для кого написан данный текст).
  7. Автоматизация ивведение звуков в речь
  8. Алексеев Н.Н. Введение в изучение права. М., 1917.
  9. Введение
  10. Введение

Если проектировать приложения нелегко, инструментальные библиотеки -еще сложнее, то проектирование каркасов - задача самая трудная. Проектиров­щик каркаса рассчитывает, что единая архитектура будет пригодна для всех при­ложений в данной предметной области. Любое независимое изменение дизайна каркаса приведет к утрате его преимуществ, поскольку основной «вклад» каркаса в приложение - это определяемая им архитектура. Поэтому каркас должен быть максимально гибким и расширяемым.

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

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

Дополнительное преимущество появляется потому, что вместе с каркасом до­кументируются те паттерны, которые в нем использованы [BJ94]. Тот, кто знает паттерны, способен быстрее разобраться в тонкостях каркаса. Но даже не работа­ющие с паттернами увидят их преимущества, поскольку паттерны помогают удоб­но структурировать документацию по каркасу. Повышение качества документи­рования важно для всех типов программного обеспечения, но для каркасов этот аспект важен вдвойне. Для освоения работы с каркасами надо потратить немало усилий, и только после этого они начнут приносить реальную пользу. Паттерны могут существенно упростить задачу, явно выделив ключевые элементы дизайна каркаса.

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

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

а как архитектурные элементы, паттерны проектирования мельче, чем кар­касы. Типичный каркас содержит несколько паттернов. Обратное утверж­дение неверно;


 

Как выбирать паттерн проектирования

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

Значение каркасов возрастает. Именно с их помощью объектно-ориентиро­ванные системы можно использовать повторно в максимальной степени. Круп­ные объектно-ориентированные приложения составляются из слоев взаимодей­ствующих друг с другом каркасов. Дизайн и код приложения в значительной мере определяются теми каркасами, которые применялись при его создании.




Дата добавления: 2015-09-11; просмотров: 78 | Поможем написать вашу работу | Нарушение авторских прав

Чтотакое паттерн проектирования | Паттерны проектирования в схеме MVC | Каталог паттернов проектирования | Организация каталога | Введение в паттерны проектирования | Введение в паттерны проектирования | Как решать задачи проектирования | Введение в паттерны проектирования | Введение в паттерны проектирования | Проектирование с учетом будущих изменений |


lektsii.net - Лекции.Нет - 2014-2025 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав