Помощь в учёбе, очень быстро...
Работаем вместе до победы

Достоинства и недостатки паттерна Bridge

РефератПомощь в написанииУзнать стоимостьмоей работы

AppKit предоставляет мост NXImage/NXImageRep. Класс NXImage определяет интерфейс для обработки изображений. Реализация же определена в отдельной иерархии классов NXImageRep, в которой есть такие подклассы, как NXEPSImageRep, NXCachecImageRep и NXBitMapImageRep. В классе NXImage хранятся ссылки на один или более объектов NXImageRep. Если имеется более одной реализации изображения, то NXImage… Читать ещё >

Достоинства и недостатки паттерна Bridge (реферат, курсовая, диплом, контрольная)

Достоинства паттерна Bridge.

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

Недостатки паттерна Bridge

  • · Создаётся «посредник» между клиентом и выполняемым кодом;
  • · Лишние вычисления для определения конкретной реализации или её возможной замены;
  • · У клиента нет доступа к реализаторам;

Известные применения паттерна Bridge

В библиотеке libg++ определены классы, которые реализуют универсальные структуры данных: Set (множество), LinkedSet (множество как связанный список), HashSet (множество как хэш-таблица), LinkedList (связанный список) и HashTable (хэш-таблица). Set — это абстрактный класс, определяющий абстракцию множества, a LinkedList и HashTable — конкретные реализации связанного списка и хэш-таблицы. LinkedSet и HashSet — реализаторы абстракции Set, перекидывающие мост между Set и LinkedList и HashTable соответственно. Перед вами пример вырожденного моста, поскольку абстрактного класса Implementor здесь нет.

В библиотеке NeXT AppKit паттерн мост используется при реализации и отображении графических изображений. Рисунок может быть представлен по-разному. Оптимальный способ его отображения на экране зависит от свойств дисплея и прежде всего от числа цветов и разрешения. Если бы не AppKit, то для каждого приложения разработчикам пришлось бы самостоятельно выяснять, какой реализацией пользоваться в конкретных условиях.

AppKit предоставляет мост NXImage/NXImageRep. Класс NXImage определяет интерфейс для обработки изображений. Реализация же определена в отдельной иерархии классов NXImageRep, в которой есть такие подклассы, как NXEPSImageRep, NXCachecImageRep и NXBitMapImageRep. В классе NXImage хранятся ссылки на один или более объектов NXImageRep. Если имеется более одной реализации изображения, то NXImage выбирает самую подходящую для данного дисплея. При необходимости NXImage также может преобразовать изображение из одного формата в другой. Интересная особенность этого варианта моста в том, что NXImage может одновременно хранить несколько реализаций NXImageRep.

Показать весь текст
Заполнить форму текущей работой