Создание абстракций данных

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

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

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

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

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

3.Осуществить поиск всех ссылок на данные с использованием системы просмотра программ или генератора перекрестных ссылок. Заменить эти ссылки соответст­вующими функциями.

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: