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