На головную страницу Института М.М.Горбунов-Посадов
 
РАСШИРЯЕМЫЕ ПРОГРАММЫ
 
Москва • Полиптих • 1999
 

Разработчику большой программы редко приходится писать что-либо заново, "с чистого листа" — чаще он развивает то, что написано и отлажено ранее. Прививая программе новые полезные качества, разработчик конечно же заботится и о том, чтобы не утратить уже достигнутого. Дело это весьма деликатное, поскольку развитие обычно подразумевает редактирование имеющихся исходных текстов, а редактирование всегда чревато внесением ошибок, влекущих потерю работоспособности. Можно было бы избежать непосредственного редактирования, частично дублируя имеющиеся тексты, однако дублирование, как известно, губительно для последующего развития. К счастью, существуют программные конструкции, позволяющие развивать программу безболезненно, лишь дополняя ее новыми модулями, но вовсе не затрагивая и не дублируя отлаженных ранее текстов.

Разумеется, применение безболезненно развиваемых конструкций не способно полностью исключить редактирование имеющихся текстов: время от времени требуются революционные преобразования программы, которые по своей природе выплескиваются за рамки любых априорных ограничений. Известно однако, что революционные преобразования относительно редки, основной же объем изменений выполняется эволюционно. А эволюционные изменения обычно удается уложить в безболезненное русло, что выводит процесс развития на новый уровень надежности. Кроме того, безболезненно развиваемые конструкции позволяют проявить важные структурные свойства программы, существенно повышая ее маневренность и наглядность.

В основе безболезненно развиваемых конструкций лежат два взаимосвязанных постулата.  (1)  Любая точка роста (hot spot) программы представима в форме расширяемого набора однородных модулей.  (2)  Любое эволюционное изменение программы представимо в форме совокупности модулей, предназначенных для пополнения одной или нескольких точек роста. Иначе говоря, ключом к построению безболезненно развиваемой программы служит девиз "Ищи однородность — найдешь расширяемость".

 

Рекомендовано Ученым советом факультета вычислительной математики и кибернетики МГУ им.М.В.Ломоносова
в качестве учебного пособия для студентов университетов,
специализирующихся в области программирования

Горбунов-Посадов М.М. Расширяемые программы. — М.: Полиптих, 1999. — 336 с.

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

Структура и значительная часть материала унаследованы от издававшейся в 1993 и 1994 гг. монографии «Конфигурации программ. Рецепты безболезненных изменений».

Для опытных программистов.

Издание осуществлено при поддержке Российского фонда фундаментальных исследований по проекту № 98-01-14087

 
Обложка Михаил Михайлович Горбунов-Посадов
РАСШИРЯЕМЫЕ ПРОГРАММЫ
 
Редактор А.С.Попов. Художник Б.Л.Будинас
 
Подписано в печать 02.08.99. Формат 60x90/16.
Усл.печ.л. 21,0. Тираж 3000 экз. Заказ № 675
 
ООО «Полиптих». 101000, Москва, Сретенский б-р, 6/1.
ЛР № 066248 от 25.12.98. Email polilova@online.ru
 
Отпечатано в АО «Московские учебники и картолитография».
125252, Москва, ул. Зорге, 15
ISBN 5-901118-01-4© Горбунов-Посадов М.М., 1999
 
Книга имеется в продаже в интернет-магазинах
 
URSS.ru:  http://urss.ru
 http://urss.ru/cgi-bin/db.pl?lang=Ru&blang=ru&page=Book&id=104623
OZON:  http://www.ozon.ru
 http://www.ozon.ru/context/detail/id/113944/
 
Краткое оглавление  •  Полное оглавление  •  English
 
gorbunov.zip  (429 Kb)   •  Другие публикации
 
Персональная страница автора
 
Полный текст

Рейтинг@Mail.ru