Reuse. Методология повторного использования: различия между версиями

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
Нет описания правки
Строка 43: Строка 43:


В Википедии:
В Википедии:
* [[w:Повторное использование кода|Повторное использование кода]]
* [[w:Reuse]]





Версия от 20:57, 16 февраля 2007

Термин reuse активно используется программистами в практике. Он означает буквально следующее: «используйте то, что уже сделано». Например, нарисовали вы какую-нибудь красивую картинку, и теперь можно помещать её куда угодно -- и на свою домашнюю страницу, и в программы, и логотип из неё сделать, и ещё куда-нибудь "всунуть". Или другой пример: написали вы библиотеку функций для работы с трёхмерной графикой и теперь можете использовать её во всех своих приложениях, где возникает необходимость рисовать 3D-картинки. Это просто и очевидно. Но в действительности reuse является важнейшей и достаточно сложной методологией, позволяющей решать задачи необъятной трудности и осуществлять мета-системные переходы в науке и технике.

Reuse – это оперирование имеющимися методами, инструментами, алгоритмами и решениями с целью получения новых методов, инструментов для решений новых задач.

По сути, reuse – это важнейший метод, который позволяет осуществлять метасистемные п ереходы при построении компьютерных (и не только компьютерных) систем.

Метасистемный переход – это изменение (повышение уровня) организации системы, при котором элементарными объектами новой системы становятся системы предыдущего уровня. Этот термин ввёл В.Ф. Турчин в работе «Метасистемные переходы».

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

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

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

У программистов слово reuse означает, прежде всего, модульное программирование, то есть программирование, направленное на создание самостоятельных моделей – кирпичиков, из которых строятся сложные системы. Модуль должен представлять собой достаточно общий набор инструментов (функций, классов, библиотек функций), который может быть использован при решениие широкого класса задач и при создании других модулей. Итак суть идеи, которую обозначают словом reuse, можно выразить следующим образом:

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

Именно благодаря методу reuse людям удается решать сложные задачи и создавать сложные компьютерные системы.

См. также

В Викиучебнике:

В Википедии: