46290

Проблема расширения функциональности в объектно-ориентированном подходе

Доклад

Информатика, кибернетика и программирование

Проблема расширения функциональности в объектноориентированном подходе. Использование объектноориентированного подхода Объектноориентированный подход не позволяет в данном случае получить элегантное решение.

Русский

2013-11-20

11.85 KB

0 чел.

15.Проблема расширения функциональности в объектно-ориентированном подходе.

Проблемы с расширением функциональности альтернатив

При добавлении нового обработчика специализации необходимо включить в

базовый класс новую виртуальную процедуру, расширяющую исходныйинтерфейс.

Далее требуется вставить во все производные классы методы, осуществляющие непосредственное вычисление периметров.

Проблемы при добавлении специализированных действий

Частный случай:

Надо выводить все прямоугольники, расположенные в контейнере. Соответствующая процедура должна "выявлять" прямоугольник из множества фигур всех видов и запускать специализированную процедуру вывода.

Использование объектно-ориентированного подхода

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

Возможные пути:

1. Использование динамического анализа типа объекта.

Но это – процедурный прием, так как используются внешние свойства объекта.

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

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


 

А также другие работы, которые могут Вас заинтересовать

9493. Антиаритмические средства. Антиангинальные средства 26.75 KB
  Антиаритмические средства Аймалин (Гилуритмал): Алкалоид раувольфии Внутрь, в/м, в/в Менее токсичен Усиленеи коронарного кровотока Драже Пульснорма. Лидокаин (Ксикаин): +местный анестетик в/в капельно ...
9494. Антигипертензивные средства и диуретики 27.07 KB
  Антигипертензивные средства Комбинированные препараты: Тенорин = Атенолол + Хлорталидон Капозид = Каптоприл + Гипотиазид Экватор = Лизиноприл + Амлодипин Микардис Плюс = Телмисартан + Гипотиазид Адельфан-Эзидркс = Резер...
9495. Диуретики. Гормональные препараты 138.06 KB
  Диуретики Фуросемид - механизм действия (вообще петлевых диуретиков): Снижение активной реабсорбции ионов натрия и хлора (+пассивной реабсорбции ионов натрия и в меньшей степени калия) Снижение активной реабсорбции магния и кальция...
9496. Гормональные препараты 29.84 KB
  Гормональные препараты Гормоны гипоталамуса: Либерины - стимулируют выработку тропных гормонов гипофиза передней доли (рилизинг-гормоны) Статины - угнетают выработку этих гормонов Соматостатитн (Стиламин) - в/в нес...
9497. Гормональные препараты. Антимикробные средства (АМ) 26.7 KB
  Гормональные препараты Минералокортикоиды: Альдостерон - обратное всасывание ионов натрия (реабсорбция) и секреция калия. Избыток отеки, повышение АД, гипокалиемия. Недостаток болезнь Аддисона - обезвоживание. Дезоксикорт...
9498. Антимикробные средства и Антибиотики 27.91 KB
  Антимикробные средства Фторхинолоны (спектр широкий): Поколение (преимущественно Гр-): Норфлоксацин (Нолицин) Офлоксацин (Таривид) Пефлоксацин (Абактал) Ципрофлоксацин (Ципролет, Ципробай) Ломефлоксацин (Максаквин...
9499. Антибиотики показания и нейротоксичность 29.89 KB
  Антибиотики Пенициллины. Природные (биосинтетические): Короткого действия - 4-6ч. - Бензилпенициллин Na и K соли. Вводят парентерально - в/м. Если речь о внутривенном введении, то вводить только натриевую соль можно, калие...
9500. Антибиотики. Гликопептидные антибиотики 30.91 KB
  Антибиотики Монобактамы: Азтреонам вм и вв. Спектр - узкий Гр- кишечная палочка, сальмонеллы, шигеллы, клебсиеллы, протей, гемофильная и синегойная палочка, менингококк, гонококк. Разрушается БЛРС (бета-лактамазы расширенного спектра)...
9501. Антибиотики. Витаминные препараты 31.09 KB
  Антибиотики Полимиксины. Полимиксин М: Гр- внутрь, местно. Полимиксин В - парентерально, используется редко, т.к больше побочных эффектов. Показания к применению: колиэнтерит, дизентерия (кишечная, синегнойная, гемофильная па...