Глава11. настраиваемые модулиНастраиваемые модули в языке реализуют абстракцию данных через параметризацию, предоставляя пользователю возможность практически неограниченного формирования различных вычислений. Параметризация модулей в языке обеспечивается путем расширения спецификации, куда добавляется настраиваемая часть, в которой описываются формальные параметры настройки. Далее размещается спецификация подпрограммы или пакета. То есть, обычный модуль (пакет или подпрограмму ) можно превратить в настраиваемый, если дополнить его спецификацию описанием настройки. Настраиваемый модуль реализует все преимущества абстракций через параметризацию : 1. Сокращение затрат на создание программы, так как один настраиваемый модуль может заменить несколько модулей, отличающихся используемыми в них типами, переменными, подпрограммами, пакетами. 2. Программы становятся короче, занимают меньший объём памяти, и в итоге их проще писать и отлаживать. 3. Типы становятся переносимыми, то есть модификация используемых в программе типов не требует изменений в настраиваемых модулях. Строгая типизация языка обеспечивает его надёжность, но не позволяет создавать универсальные программы, работающие с множеством различных типов. Предусмотреные в языке настраиваемые средства (generic facilities), основанные на механизме настраиваемых модулей, позволяют разрабатывать универсальные программные модули ( пакеты и подпрограммы) в виде шаблонов (templates). Настраиваемые модули разрабатываются с помощью специальных настраиваемых средств и не используются непосредственно для выполнения. Они служат основой для создания других программных модулей с заданными свойствами. |
| Оглавление| |