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

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

Мотивация

Читайте также:
  1. В. Меркантильная мотивация подделок
  2. Г Мотивация подделок в пользу групповых интересов
  3. Д. Пропагандистская мотивация подделок
  4. Е. Мотивация материальной заинтересованности антиквариев в подделке
  5. Ж. Мотивация коллекционирования старинных вещей
  6. Инструментальная мотивация.
  7. Мотивация
  8. Мотивация
  9. Мотивация

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

Рассмотрим реализацию переносимой абстракции окна в библиотеке для раз­работки пользовательских интерфейсов. Написанные с ее помощью приложения должны работать в разных средах, например под X Window System и Presentation Manager (PM) от компании IBM. С помощью наследования мы могли бы опреде­лить абстрактный класс Window и его подклассы XWindow и PMWindow, реализу­ющие интерфейс окна для разных платформ. Но у такого решения есть два недо­статка:

а неудобно распространять абстракцию Window на другие виды окон или но­вые платформы. Представьте себе подкласс IconWindow, который специа­лизирует абстракцию окна для пиктограмм. Чтобы поддержать пиктограм­мы на обеих платформах, нам придется реализовать два новых подкласса XlconWindow и PMIconWindow. Более того, по два подкласса необходимо определять для каждого вида окон. А для поддержки третьей платформы придется определять для всех видов окон новый подкласс Window;

 

а клиентский код становится платформенно-зависимым. При создании окна клиент инстанцирует конкретный класс, имеющий вполне определенную реализацию. Например, создавая объект XWindow, мы привязываем абстрак­цию окна к ее реализации для системы X Window и, следовательно, делаем код клиента ориентированным именно на эту оконную систему. Таким об­разом усложняется перенос клиента на другие платформы.





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

Паттерн Singleton | Результаты | Порождающие паттерны | Паттерн Singleton | Обсуждение порождающих паттернов | Глава 4. Структурные паттерны | Паттерн Adapter | Структурные паттерны | Результаты | Паттерн Adapter |


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