Введение в программирование - Учебное пособие (Корочкин А. В.)

Глава11.   настраиваемые модули

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

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

Настраиваемый модуль реализует все преимущества абстракций че­рез параметризацию :

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

2.  Программы становятся короче, занимают меньший объём памяти, и в итоге их проще писать и отлаживать.

3. Типы становятся переносимыми, то есть модификация используемых в программе типов не требует изменений в настраиваемых модулях.

Строгая типизация языка обеспечивает его надёжность, но не позво­ляет создавать универсальные программы, работающие с множеством различных типов. Предусмотреные в языке настраиваемые средства (generic facilities), основанные на механизме настраиваемых модулей, позволяют разрабатывать универсальные программные модули ( паке­ты и подпрограммы) в виде шаблонов (templates).

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