Откладывание связывания
Две категории тактик, которые мы на данный момент успели рассмотреть, ориентированы на сокращение количества модулей, требующих корректировки для реализации намеченных модификаций. Тем не менее два элемента наших сценариев модифицируемости — продолжительность размещения и предоставление возможности проведения модификаций лицам, не относящимся к группе разработчиков, — не получают своего разрешения за счет сокращения количества модулей. Тактика откладывания связывания решает эту задачу, правда, ценой введения дополнительной инфраструктуры. Связывание решений с существующей системой можно проводить в разные периоды. Мы рассмотрим только те из них, которые оказывают влияние на размещение. Размещение системы обусловливается тем или иным процессом. Если разработчик выполняет модификацию, то временной промежуток между этим действием и моментом, когда результаты модификации становятся доступны конечному пользователю, как правило, определяется продолжительностью процессов тестирования и распространения. Связывание в период прогона предполагает подготовленность системы к связыванию и завершение этапов тестирования и распространения. Откладывание периода связывания, помимо всего прочего, позволяет конечному пользователю или администратору системы проводить настройку и предоставлять входные данные, влияющие на поведение. Многие тактики — нижеприведенные в их числе — оказывают свое действие в периоды загрузки или исполнения. ♦ Регистрация в период прогона обеспечивает функционирование согласно стандарту Plug-and-Play, однако с осуществлением контроля регистрации связываются дополнительные издержки. В частности, регистрацию по образцам публикации/подписки можно реализовать при прогоне или при загрузке. ♦ Конфигурационные файлы предназначены для установки параметров при запуске. ♦ Полиморфизм предоставляет возможность отложенного связывания вызовов методов. ♦ Замена компонентов позволяет проводить связывание в период загрузки. ♦ Применение предписанных протоколов обеспечивает возможность связывания независимых процессов в период прогона. Схема тактик модифицируемости приводится на рис. 5.5.
|