Каркас архитектуры: различия между версиями

Содержимое удалено Содержимое добавлено
мНет описания правки
следующие -> следующее
Строка 11:
Любая программа, активно функционирующая на протяжении достаточно длительного времени, неизбежно будет изменяться. Причин великое множество: устранение неточностей, повышение эффективности, отслеживание изменение внешней среды (напр., реакция на появление новых аппаратных или программных средств), попытки применить программу для решения смежной или более общей задачи. Если не предпринимать специальных усилий, внесение изменений нередко оказывается чрезвычайно трудоемким и болезненным процессом, чреватым длительной утратой работоспособности отлаженного ранее материала. Главный рецепт облегчения внесения изменений — тщательно продуманная модульная структура программы. Если когда-то требуется пересмотреть решение, то тем самым четко очерчивается изменяемая область программы: изменения не должны выйти за пределы оформленного таким образом модуля.
 
Существует тесная связь между многократной используемостью и изменяемостью. Чтобы ее почувствовать, достаточно отметить следующиеследующее: части (в измененной программе), не затронутые модификациями → используются повторно. Это отменяет то представление объектного подхода, что повторно используемые части можно выделить в функции и потом использовать. Повторно используемые части должны обладать важным свойством — они постоянны и не подвержены изменениям. А функции как правило имеют тенденцию изменяться. Поэтому повторно использоваться может лишь каркас, обладающий постоянством, а объектные функции — суть изменяемые части, которые лишь при наличии специальных средств можно использовать многократно (а не повторно). Отсутствие таких средств делает повторное использование опасным как для окружения, так и для работоспособности. Такие специальные средства — это ''язык сборки'', в частности реализуется или препроцессором или интерпретатором метаданных.
 
 
== Эффективные механизмы в каркасном подходе ==