46228

Вариантные обобщения

Доклад

Логика и философия

Вариантные обобщения. Обобщение данных состоит из основы обобщения к которой присоединяются различные основы специализаций. Но чаще всего обобщения на основе общего ресурса строится таким образом что начальный адрес для всех размещаемых объектов является одинаковым. Вариантное обобщение Вариант основа обобщения данных в процедурном подходе.

Русский

2013-11-20

14.54 KB

1 чел.

11. Вариантные обобщения.

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

Выделяются:

Обобщение данных и обобщение процедур (процедурное обобщение).

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

Методы формирования обобщений

При обобщении на основе общего ресурса происходит размещение специализаций в едином адресном пространстве.

При этом обычно существует часть ресурса, одновременно перекрываемая всеми размещаемыми программными объектами.

Но чаще всего обобщения на основе общего ресурса строится таким образом, что начальный адрес для всех размещаемых объектов является одинаковым.

Образное обобщение

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

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

Вариантное обобщение

Вариант - основа обобщения данных в процедурном подходе. Обобщение, применяемое в процедурном подходе и построенное на основе варианта, назовем вариантным обобщением.

С каждым вариантом связан набор специализаций обобщения, построенный на основе уже существующих абстракций (основ специализаций). Определим их как вариантные специализации.

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

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

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

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


Вывод

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

К недостаткам можно отнести неэффективное использование пространства памяти при различных размерах специализаций.

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


 

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

13132. Теоретические основы объектно-ориентированного программирования 258 KB
  Лабораторная работа по теме Тема 5.2. Теоретические основы объектноориентированного программирования Цель данной лабораторной работы состоит в изучении основных понятий объектноориентированной технологии и получении практических навыков разработки объектно...
13134. Средства объектно-ориентированного программирования в VB 571.5 KB
  Лабораторная работа по теме Тема 5.3. Средства объектноориентированного программирования в VB Цель данной лабораторной работы состоит в изучении средств приемов и получении практических навыков разработки написания и отладки проектов использующих объектноор
13135. Основы проектирования баз данных средствами СУБД ACCESS 161.7 KB
  Лабораторная работа по теме Тема 5.5. Основы проектирования баз данных средствами СУБД ACCESS Цель данной работы состоит в получении навыков в проектировании и работе с базой данных БД реляционного типа на примере использования СУБД ACCESS 20032. 5.5.1. Вопросы подле
13136. Средства Visual Studio.Net – ADO.NET для работы с базами данных 424.42 KB
  Лабораторная работа по темеТема 5.6. Средства Visual Studio.Net – ADO.NET для работы с базами данных Цель данной работы состоит в изучении технологии ADO.NET при разработке проекта средствами Visual Basic.Net VB.NET с использованием базы данных БД реляционного типа состоящей из одной таб
13137. Введение в разработку Web-приложений 453.93 KB
  Лабораторная работа по теме Тема 5.7. Введение в разработку Webприложений Цель данной работы состоит в получении навыков в создании Webприложений средствами языка HTML. 5.7.1. Вопросы подлежащие изучению Общие сведения о компьютерных сетях и основные определе...
13138. Понятие трудового права 53.54 KB
  Лекция 12 Тема: Понятие трудового права План понятие трудового права предмет и метод трудового права принципы трудового права источники трудового права субъекты трудового права правовое регулирование занятости и трудоустройства трудовой догов
13139. Философия морали 85.5 KB
  Философия морали Содержание Введение 1. Происхождение сущность и основные функции морали 2. Исторические типы морали. Моральный прогресс человечества 3. Нравственная атмосфера современного общества Заключение Список использованной литературы Введение ...